};
// MchbMdta testing
MchbMdta m = new MchbMdta(m0, "444", "Нория", _mchb, _Pdp, _RKS);
Mchb mchb = m.mchb;
mchb.channelOut.tagChannel.set( 0x100 );
Mdta d1 = m.getMdta("_Pdp");
d1.channel.tagChannel.set( 0x101 );
Mdta d2 = m.createMdta("_Tok", "Ток", true, true, false);
d2.channel.tagChannel.set( 0x102 );
d2.tagFlags.set( 2 );
Mdta d3 = m.getMdta("_RKS");
d3.channel.tagChannel.set( 0x103 );
m.execute();
assertEquals(mchb.channelOut.tagName.getString(), "mod2@Output00");
assertEquals(mchb.channelIn.tagName.getString(), "mod1@Input00");
assertEquals(d1.channel.tagName.getString(), "mod1@Input01");
assertEquals(d2.channel.tagName.getString(), "mod1@Input02");
assertEquals(d3.channel.tagName.getString(), "mod1@Input03");
assertEquals(mchb.tagSost.getName(), "MCHB_444_Sost");
assertEquals(d1.tagSost.getName(), "MDTA_444_Pdp_Sost");
assertEquals(d2.tagSost.getName(), "MDTA_444_Tok_Sost");
assertEquals(d3.tagSost.getName(), "MDTA_444_RKS_Sost");
assertEquals(mchb.channelOut.tagChannel.getName(), "MCHB_444_Channel1");
assertEquals(mchb.channelIn.tagChannel.getName(), "MCHB_444_Channel2");
assertEquals(d1.channel.tagChannel.getName(), "MDTA_444_Pdp_Channel");
// Everything = off, mchb=stopped
assertEquals(mchb.tagSost.get(), 0);
assertEquals(d1.tagOutput.get(), 0);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 0);
assertEquals(d2.tagSost.get(), 0);
assertEquals(d3.tagSost.get(), 0);
// Pdp = On, mchb=stopped
in1.set(1);
m.execute();
assertEquals(mchb.tagSost.get(), 0);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 0);
assertEquals(d3.tagSost.get(), 0);
// Tok = On, mchb=stopped
in2.set(1);
m.execute();
assertEquals(mchb.tagSost.get(), 0);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 1);
assertEquals(d3.tagSost.get(), 0);
// Rks = On, mchb=stopped
in3.set(1);
m.execute();
assertEquals(mchb.tagSost.get(), 0);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 1);
assertEquals(d3.tagSost.get(), 1);
// Everything = On, mchb=started
mchb.tagControl.set( 3 );
m.execute();
m.execute();
m.execute();
assertEquals(mchb.tagMasterOut.get(), 0);
assertEquals(mchb.tagSost.get(), 2);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 1);
assertEquals(d3.tagSost.get(), 1);
in0.set(1);
m.execute();
assertEquals(mchb.tagMasterOut.get(), 0);
assertEquals(mchb.tagSost.get(), 1);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 1);
assertEquals(d3.tagSost.get(), 1);
m.execute();
assertEquals(mchb.tagMasterOut.get(), 0);
assertEquals(mchb.tagSost.get(), 5);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 1);
assertEquals(d3.tagOutput.get(), 1);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 3);
assertEquals(d3.tagSost.get(), 3);
mchb.tagControl.set( 3 + 4 );
m.execute();
m.execute();
m.execute();
m.execute();
assertEquals(mchb.tagMasterOut.get(), 0);
assertEquals(mchb.tagSost.get(), 2);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 1);
assertEquals(d3.tagSost.get(), 1);
in3.set(0);
m.execute();
assertEquals(mchb.tagMasterOut.get(), 0);
assertEquals(mchb.tagSost.get(), 1);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 0);
assertEquals(d3.tagOutput.get(), 0);
assertEquals(d1.tagSost.get(), 3);
assertEquals(d2.tagSost.get(), 1);
assertEquals(d3.tagSost.get(), 0);
m.execute();
assertEquals(mchb.tagMasterOut.get(), 0);
assertEquals(mchb.tagSost.get(), 1);
assertEquals(d1.tagOutput.get(), 1);
assertEquals(d2.tagOutput.get(), 1);
assertEquals(d3.tagOutput.get(), 0);