public void Test19() { F4SECSItem secsItem1 = new F4SECSItem(3.141592F); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void Test19() { I4SECSItem secsItem1 = new I4SECSItem(2147483647); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void Test19() { U4SECSItem secsItem1 = new U4SECSItem(4294967295); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
private SECSItem XMLToRootSecsItem(XElement el) { SECSItem root; if (el.HasElements) { foreach (XElement i in el.Elements("Item")) { //SECSItem item; if (i.Element("Format").Value.ToUpper() == eSECS_FORMAT.LIST.ToString()) { root = new SECSItem(eSECS_FORMAT.LIST, i.Element("Name").Value, i.Element("Description").Value); //root.Add(item); ParseList(i, ref root); return(root); //item.Parent.AddNew( } else { root = new SECSItem((eSECS_FORMAT)Enum.Parse(typeof(eSECS_FORMAT), i.Element("Format").Value.ToString().ToUpper()), i.Element("Name").Value, i.Element("Description").Value); root.Value = i.Element("Value").Value; return(root); //root.Add(item); } } } root = null; return(root); }
public void Test19() { I8SECSItem secsItem1 = new I8SECSItem(9223372036854775807L); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void Test19() { U8SECSItem secsItem1 = new U8SECSItem(3141592); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void Test19() { I1SECSItem secsItem1 = new I1SECSItem(127); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void Test19() { I2SECSItem secsItem1 = new I2SECSItem((short)32767); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void Test16() { ASCIISECSItem secsItem1 = new ASCIISECSItem("3.141592F"); SECSItem secsItem2 = null; Assert.IsFalse(secsItem1.Equals(secsItem2)); }
public void SendS1F13(WinSECS host) { SECSTransaction trans = new SECSTransaction(1, 13); trans.Primary.Root.Name = "CR"; trans.Primary.Root.Description = "Establish communications request"; SECSItem item = trans.Primary.Root.AddNew("L"); trans.ReplyExpected = true; trans.Send(host);; }
private void BuildS1F14(SECSTransaction trans) { trans.Secondary.Root.Name = "CRA"; SECSItem item = trans.Secondary.Root.AddNew("L"); SECSItem itemCommAck = item.AddNew("COMMACK", "Establish communications acknowledge code"); itemCommAck.Format = SECS_FORMAT.BINARY; itemCommAck.Value = 0; SECSItem itemMCInfo = item.AddNew("L"); itemMCInfo.AddNew("MDLN", "Equipment Model Type"); itemMCInfo.Item("MDLN").Format = SECS_FORMAT.ASCII; itemMCInfo.Item("MDLN").Value = "LH620"; itemMCInfo.AddNew("SOFTREV", "Software revision code"); itemMCInfo.Item("SOFTREV").Format = SECS_FORMAT.ASCII; itemMCInfo.Item("SOFTREV").Value = "1.2.0"; trans.Reply(); }
static string wsSML(SECSItem item, int indent) { StringBuilder strReturn = new StringBuilder(""); string str = ""; if (item == null) { return(strReturn.ToString()); } var indentStr = new string(' ', indent); strReturn.Append(indentStr); strReturn.Append("<"); strReturn.Append(ToSML(item.Format)); strReturn.Append(" ["); strReturn.Append(item.ItemCount); strReturn.Append("] "); switch (item.Format) { case SECS_FORMAT.LIST: strReturn.Append("\n"); int count = item.ItemCount; for (int i = 0; i < count; i++) { str = wsSML(item.Item(i), indent + SmlIndent); strReturn.Append(str); } strReturn.Append(indentStr); break; case SECS_FORMAT.ASCII: case SECS_FORMAT.JIS8: strReturn.Append("\'"); strReturn.Append(item.Value); strReturn.Append('\''); break; default: strReturn.Append(item.Value); break; } strReturn.Append(">" + "\n"); return(strReturn.ToString()); }
private void ParseList(XElement el, ref SECSItem item) { foreach (XElement i in el.Elements("Item")) { SECSItem subI; if (i.Element("Format").Value.ToUpper() == eSECS_FORMAT.LIST.ToString()) { subI = new SECSItem(eSECS_FORMAT.LIST, i.Element("Name").Value, i.Element("Description").Value); item.Add(subI); ParseList(i, ref subI); } else { subI = new SECSItem((eSECS_FORMAT)Enum.Parse(typeof(eSECS_FORMAT), i.Element("Format").Value.ToString().ToUpper()), i.Element("Name").Value, i.Element("Description").Value); subI.Value = i.Element("Value").Value; item.Add(subI); } } }
public void SendS1F3(WinSECS host) { SECSTransaction trans = new SECSTransaction(1, 3); trans.Primary.Root.Name = "SSR"; trans.Primary.Root.Description = "Selected equipment status request"; SECSItem item = trans.Primary.Root.AddNew("L"); SECSItem svid = item.AddNew("SVID", "Status variable ID"); svid.Format = SECS_FORMAT.U4; svid.Value = 1001; SECSItem svid2 = svid.Duplicate(); svid2.Format = SECS_FORMAT.U4; svid2.Value = 1002; SECSItem svid3 = svid.Duplicate(); svid3.Format = SECS_FORMAT.U4; svid3.Value = 1003; trans.ReplyExpected = true; trans.Send(host);; }
static void Write(TextWriter writer, SECSItem item, int indent) { if (item == null) { return; } var indentStr = new string(' ', indent); writer.Write(indentStr); writer.Write('<'); writer.Write(ToSML(item.Format)); writer.Write(" ["); writer.Write(item.ItemCount); writer.Write("] "); switch (item.Format) { case SECS_FORMAT.LIST: writer.WriteLine(); int count = item.ItemCount; for (int i = 0; i < count; i++) { Write(writer, item.Item(i), indent + SmlIndent); } writer.Write(indentStr); break; case SECS_FORMAT.ASCII: case SECS_FORMAT.JIS8: writer.Write('\''); writer.Write(item.ToString()); writer.Write('\''); break; default: writer.Write(item.ToString()); break; } writer.WriteLine('>'); }
public SECSMessage(SECSHeader Header, SECSItem Body) { this.IsValidMessage = true; this.Header = Header; this.Body = Body; }
public void test01() { byte[] input = { (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.L) << 2) | 0x01), 25, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.A) << 2) | 0x01), 0x03, 0x41, 0x42, 0x43, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.B) << 2) | 0x01), 0x05, 128, 255, 0, 1, 127, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.BO) << 2) | 0x01), 0x08, 1, 0, 2, 0, 255, 0, 1, 1, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.BO) << 2) | 0x01), 0x01, 5, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F4) << 2) | 0x01), 20, 127, 127, 255, 255, 255, 127, 255, 255, 255, 128, 0, 0, 127, 128, 0, 0, 0, 0, 0, 0, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F4) << 2) | 0x01), 0x04, 127, 127, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F8) << 2) | 0x01), 40, 127, 0xEF, 255, 255, 255, 255, 255, 255, 255, 0XEF, 255, 255, 255, 255, 255, 255, 255, 0xF0, 0, 0, 0, 0, 0, 0, 127, 0XF0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F8) << 2) | 0x01), 0x08, 127, 0xEF, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I1) << 2) | 0x01), 0x04, 255, 128, 0, 127, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I1) << 2) | 0x01), 0x01, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I2) << 2) | 0x01), 10, 255, 255, 128, 0, 0, 0, 0, 1, 127, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I2) << 2) | 0x01), 0x02, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I4) << 2) | 0x01), 20, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I4) << 2) | 0x01), 0x04, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I8) << 2) | 0x01), 40, 255, 255, 255, 255, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I8) << 2) | 0x01), 0x08, 255, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U1) << 2) | 0x01), 0x04, 255, 128, 0, 127, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U1) << 2) | 0x01), 0x01, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U2) << 2) | 0x01), 10, 255, 255, 128, 0, 0, 0, 0, 1, 127, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U2) << 2) | 0x01), 0x02, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U4) << 2) | 0x01), 20, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U4) << 2) | 0x01), 0x04, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U8) << 2) | 0x01), 40, 255, 255, 255, 255, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U8) << 2) | 0x01), 0x08, 255, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.L) << 2) | 0x01), 24, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.A) << 2) | 0x01), 0x03, 0x41, 0x42, 0x43, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.B) << 2) | 0x01), 0x05, 128, 255, 0, 1, 127, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.BO) << 2) | 0x01), 0x08, 1, 0, 2, 0, 255, 0, 1, 1, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.BO) << 2) | 0x01), 0x01, 5, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F4) << 2) | 0x01), 20, 127, 127, 255, 255, 255, 127, 255, 255, 255, 128, 0, 0, 127, 128, 0, 0, 0, 0, 0, 0, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F4) << 2) | 0x01), 0x04, 127, 127, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F8) << 2) | 0x01), 40, 127, 0xEF, 255, 255, 255, 255, 255, 255, 255, 0XEF, 255, 255, 255, 255, 255, 255, 255, 0XF0, 0, 0, 0, 0, 0, 0, 127, 0XF0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.F8) << 2) | 0x01), 0x08, 127, 0xEF, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I1) << 2) | 0x01), 0x04, 255, 128, 0, 127, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I1) << 2) | 0x01), 0x01, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I2) << 2) | 0x01), 10, 255, 255, 128, 0, 0, 0, 0, 1, 127, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I2) << 2) | 0x01), 0x02, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I4) << 2) | 0x01), 20, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I4) << 2) | 0x01), 0x04, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I8) << 2) | 0x01), 40, 255, 255, 255, 255, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.I8) << 2) | 0x01), 0x08, 255, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U1) << 2) | 0x01), 0x04, 255, 128, 0, 127, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U1) << 2) | 0x01), 0x01, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U2) << 2) | 0x01), 10, 255, 255, 128, 0, 0, 0, 0, 1, 127, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U2) << 2) | 0x01), 0x02, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U4) << 2) | 0x01), 20, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U4) << 2) | 0x01), 0x04, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U8) << 2) | 0x01), 40, 255, 255, 255, 255, 255, 255, 255, 255, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 127, 255, 255, 255, 255, 255, 255, 255, (byte)((SECSItemFormatCodeFunctions.getNumberFromSECSItemFormatCode(SECSItemFormatCode.U8) << 2) | 0x01), 0x08, 255, 255, 255, 255, 255, 255, 255, 255 }; ListSECSItem secsItem = new ListSECSItem(input, 0); SECSItem testElement = null; LinkedList <SECSItem> expectedData1 = new LinkedList <SECSItem>(); LinkedList <SECSItem> expectedData2 = new LinkedList <SECSItem>(); testElement = new ASCIISECSItem("ABC"); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new BinarySECSItem(new byte[] { 128, 255, 0, 1, 127 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new BooleanArraySECSItem(new bool[] { true, false, true, false, true, false, true, true }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new BooleanSECSItem(true); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new F4ArraySECSItem(new float[] { Single.MaxValue, Single.MinValue, Single.NegativeInfinity, Single.PositiveInfinity, 0.0F }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new F4SECSItem(Single.MaxValue); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new F8ArraySECSItem(new double[] { Double.MaxValue, Double.MinValue, Double.NegativeInfinity, Double.PositiveInfinity, 0.0D }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new F8SECSItem(Double.MaxValue); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I1ArraySECSItem(new sbyte[] { -1, -128, 0, 127 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I1SECSItem((sbyte)-1); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I2ArraySECSItem(new Int16[] { -1, -32768, 0, 1, 32767 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I2SECSItem(-1); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I4ArraySECSItem(new Int32[] { -1, -2147483648, 0, 1, 2147483647 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I4SECSItem(-1); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I8ArraySECSItem(new Int64[] { -1, -9223372036854775808L, 0, 1, 9223372036854775807L }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new I8SECSItem(-1); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U1ArraySECSItem(new byte[] { 255, 128, 0, 127 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U1SECSItem((byte)255); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U2ArraySECSItem(new UInt16[] { 65535, 32768, 0, 1, 32767 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U2SECSItem(65535); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U4ArraySECSItem(new UInt32[] { 0xFFFFFFFF, 2147483648, 0, 1, 2147483647 }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U4SECSItem((UInt32)0xFFFFFFFF); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U8ArraySECSItem(new UInt64[] { 0xFFFFFFFFFFFFFFFF, 0x8000000000000000, 0x0000000000000000, 0x0000000000000001, 0x7FFFFFFFFFFFFFFF }); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); testElement = new U8SECSItem((UInt64)0xFFFFFFFFFFFFFFFF); expectedData1.AddLast(testElement); expectedData2.AddLast(testElement); ListSECSItem innerList = new ListSECSItem(expectedData2); expectedData1.AddLast(innerList); ListSECSItem expectedResult = new ListSECSItem(expectedData1); Console.WriteLine(secsItem.ToString()); Console.WriteLine("\n/////////////////////////////////////////////////////////////////////////////////////////////////////\n"); Console.WriteLine(expectedResult.ToString()); Assert.IsTrue(secsItem.Equals(expectedResult)); }