private void testReceiveX10Command(string houseCode, X10Command command, byte x10Code) { using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x52, x10Code, 0x80); var plm = buildPlmForTest(scenario.Playback()); var test = plm.Network.X10; int eventCount = 0; object sender = null; string eventHouseCode = null; X10Command eventCommand = 0; test.CommandReceived += new X10CommandReceivedHandler((s, e) => { sender = s; eventHouseCode = e.HouseCode; eventCommand = e.Command; eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); Assert.AreEqual(test, sender); Assert.AreEqual(houseCode, eventHouseCode); Assert.AreEqual(command, eventCommand); } }
public void testAllLinkingCompletedEvent(byte linkCode, byte group) { using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x53, linkCode, group, TestDeviceHelper.PEER_ID_HI, TestDeviceHelper.PEER_ID_MI, TestDeviceHelper.PEER_ID_LO, PEER_DEVCAT, PEER_DEVSUB, 0xFF); var plm = buildPlmForTest(scenario.Playback()); var test = plm.Network; int eventCount = 0; test.AllLinkingCompleted += new AllLinkingCompletedHandler((s, e) => { Assert.AreSame(test, s); Assert.AreEqual(group, e.AllLinkGroup); switch (linkCode) { case 0x00: Assert.AreEqual(AllLinkingAction.LinkedWithPlmAsSlave, e.AllLinkingAction); break; case 0x01: Assert.AreEqual(AllLinkingAction.LinkedWithPlmAsMaster, e.AllLinkingAction); break; case 0xFF: Assert.AreEqual(AllLinkingAction.LinkDeleted, e.AllLinkingAction); break; default: throw new InvalidOperationException(); } Assert.AreEqual(TestDeviceHelper.PEER_ID_STRING, e.PeerId.ToString()); Assert.AreEqual(PEER_DEVCAT, e.DeviceCategoryCode); Assert.AreEqual(PEER_DEVSUB, e.DeviceSubcategoryCode); string devCat = Constants.DeviceCategoryLookup[PEER_DEVCAT]; string devSubcat = Constants.DeviceSubcategoryLookup[PEER_DEVCAT][PEER_DEVSUB]; Assert.AreEqual(devCat, e.DeviceCategory); Assert.AreEqual(devSubcat, e.DeviceSubcategory); eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); } }
public void Fires_event_when_set_button_released_after_being_held() { using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x54, 0x04); var plm = buildPlmForTest(scenario.Playback()); var test = plm.SetButton; int eventCount = 0; test.ReleasedAfterHolding += new EventHandler((s, e) => { Assert.AreSame(test, s); eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); } }
public void Fires_event_when_set_button_held_during_power_up() { using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x55); var plm = buildPlmForTest(scenario.Playback()); var test = plm.SetButton; int eventCount = 0; test.UserReset += new EventHandler((s, e) => { Assert.AreSame(test, s); eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); } }
public void Fires_event_when_set_button_pressed_and_held() { using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x54, 0x03); var plm = buildPlmForTest(scenario.Playback()); var test = plm.SetButton; int eventCount = 0; test.PressedAndHeld += new EventHandler((s, e) => { Assert.AreSame(test, s); eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); } }
private void testStandardMessageReceivedEvent(byte command1, byte command2) { const byte FLAGS = Constants.MSG_FLAGS_GROUP_BROADCAST | Constants.MSG_FLAGS_MAX_HOPS; using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x50, TestDeviceHelper.PEER_ID_HI, TestDeviceHelper.PEER_ID_MI, TestDeviceHelper.PEER_ID_LO, 0x00, // ignored 0x00, // ignored 0x04, // ignored FLAGS, command1, command2); var plm = buildPlmForTest(scenario.Playback()); var test = plm.Network; int eventCount = 0; test.StandardMessageReceived += new StandardMessageReceivedHandler((s, e) => { Assert.AreSame(test, s); Assert.AreEqual(FLAGS, e.RawFlags); Assert.AreEqual(command1, e.Command1); Assert.AreEqual(command2, e.Command2); Assert.AreEqual(TestDeviceHelper.PEER_ID_STRING, e.PeerId.ToString()); eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); } }
private void testReceiveX10HouseAndUnit(string houseCode, byte unitCode, byte x10Code) { using (var scenario = new SerialPortScenario()) { scenario .IncomingMessage(0x02, 0x52, x10Code, 0x00); var plm = buildPlmForTest(scenario.Playback()); var test = plm.Network.X10; int eventCount = 0; object sender = null; string eventHouseCode = null; byte eventUnitCode = 0; test.UnitAddressed += new X10UnitAddressedHandler((s, e) => { sender = s; eventHouseCode = e.HouseCode; eventUnitCode = e.UnitCode; eventCount++; }); plm.Receive(); Assert.AreEqual(1, eventCount); Assert.AreEqual(test, sender); Assert.AreEqual(houseCode, eventHouseCode); Assert.AreEqual(unitCode, eventUnitCode); } }