public void TestConcatenateInteger() { LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test")); testList += new LSL_Types.LSLInteger(20); Assert.AreEqual(4, testList.Length); Assert.AreEqual(new LSL_Types.LSLInteger(20), testList.Data[3]); Assert.AreEqual(typeof(LSL_Types.LSLInteger), testList.Data[3].GetType()); LSL_Types.list secondTestList = testList + new LSL_Types.LSLInteger(2); Assert.AreEqual(5, secondTestList.Length); Assert.AreEqual(new LSL_Types.LSLInteger(2), secondTestList.Data[4]); Assert.AreEqual(typeof(LSL_Types.LSLInteger), secondTestList.Data[4].GetType()); }
public void TestGetLSLStringItemForKeyItem() { LSL_Types.key testValue = new LSL_Types.key("98000000-0000-2222-3333-100000001000"); LSL_Types.LSLString testStringValue = new LSL_Types.LSLString(testValue); LSL_Types.list testList = new LSL_Types.list(testValue); Assert.AreEqual(testStringValue, testList.GetLSLStringItem(0)); }
public void TestGetQuaternionItemForQuaternionItem() { LSL_Types.Quaternion testValue = new LSL_Types.Quaternion(12.64, 59.43723, 765.3421, 4.00987); LSL_Types.list testList = new LSL_Types.list(testValue); Assert.AreEqual(testValue, testList.GetQuaternionItem(0)); }
public Dictionary<string, object> GetVars() { Dictionary<string, object> vars = new Dictionary<string, object>(); if (m_Fields == null) return vars; m_Fields.Clear(); Type t = GetType(); FieldInfo[] fields = t.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); foreach (FieldInfo field in fields) { m_Fields[field.Name] = field; if (field.FieldType == typeof(LSL_Types.list)) // ref type, copy { LSL_Types.list v = (LSL_Types.list)field.GetValue(this); Object[] data = new Object[v.Data.Length]; Array.Copy(v.Data, 0, data, 0, v.Data.Length); LSL_Types.list c = new LSL_Types.list(); c.Data = data; vars[field.Name] = c; } else if (field.FieldType == typeof(LSL_Types.LSLInteger) || field.FieldType == typeof(LSL_Types.LSLString) || field.FieldType == typeof(LSL_Types.LSLFloat) || field.FieldType == typeof(Int32) || field.FieldType == typeof(Double) || field.FieldType == typeof(Single) || field.FieldType == typeof(String) || field.FieldType == typeof(Byte) || field.FieldType == typeof(short) || field.FieldType == typeof(LSL_Types.Vector3) || field.FieldType == typeof(LSL_Types.Quaternion)) { vars[field.Name] = field.GetValue(this); } } return vars; }
public void TestGetLSLIntegerItemForLSLIntegerItem() { LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(999911); LSL_Types.list testList = new LSL_Types.list(testValue); Assert.AreEqual(testValue, testList.GetLSLIntegerItem(0)); }