public void GetMessageVoltageRequestTest() { PowerManagementMessage message = PowerManagement.GetMessage("*#3*10*1*1##"); Assert.AreEqual <WHAT>(message.What, WHAT.PowerManagementVoltageRequest); Assert.AreEqual <int>(message.Voltage, 1); }
public void GetMessageAllDimensionsTest() { PowerManagementMessage message = PowerManagement.GetMessage("*#3*10*0*1*2*3*4##"); Assert.AreEqual <WHAT>(message.What, WHAT.PowerManagementAllDimensionsRequest); Assert.AreEqual <int>(message.Voltage, 1); Assert.AreEqual <int>(message.Current, 2); Assert.AreEqual <int>(message.Power, 3); Assert.AreEqual <int>(message.Energy, 4); }
public static PowerManagementMessage GetMessage(string data) { PowerManagementMessage message = null; string[] content; if (string.IsNullOrEmpty(data)) { return(null); } try { message = new PowerManagementMessage(); content = data.Remove(data.Length - 2, 2).Split(new char[] { '*' }, StringSplitOptions.RemoveEmptyEntries); if (data.StartsWith("*#")) { if (content[1] == "10") { switch (content[2]) { case "0": message.What = WHAT.PowerManagementAllDimensionsRequest; message.Voltage = int.Parse(content[3]); message.Current = int.Parse(content[4]); message.Power = int.Parse(content[5]); message.Energy = int.Parse(content[6]); break; case "1": message.What = WHAT.PowerManagementVoltageRequest; message.Voltage = int.Parse(content[3]); break; case "2": message.What = WHAT.PowerManagementCurrentRequest; message.Current = int.Parse(content[3]); break; case "3": message.What = WHAT.PowerManagementPowerRequest; message.Power = int.Parse(content[3]); break; case "4": message.What = WHAT.PowerManagementEnergyRequest; message.Energy = int.Parse(content[3]); break; } } } else { message.What = GetWhat(content[1]); message.Where = Where.GetWhere(content[2]); } } catch (Exception) { return(null); } return(message); }
public void GetMessageLoadForcedTest() { PowerManagementMessage message = PowerManagement.GetMessage("*3*2*11##"); Assert.AreEqual <WHAT>(message.What, WHAT.PowerManagementLoadForced); }