Esempio n. 1
0
 public void GetObjectPropertiesTypesArray_ShouldExtractOnlyPublicPropertiesFromArgumentArray()
 {
     MyClassWithPrivateProperty cl = new MyClassWithPrivateProperty();
     Type[] arrayOfTypes = ModbusDataMappingHelper.GetObjectModbusPropertiesTypeArray(cl);
     Assert.AreEqual(arrayOfTypes.Length, 3);
 }
Esempio n. 2
0
 public void SetObjectPropertiesValuesFromArray_ShouldSetOnlyPublicPropertiesToValuesFromArrayAndReturnTrueOnSuccess()
 {
     MyClassWithPrivateProperty cl = new MyClassWithPrivateProperty();
     object tmp = (object)cl;
     object[] arrayValues = { (Int32)(-123456), (Single)123.456f, (Double)1234567890.0 };
     bool ret = ModbusDataMappingHelper.SetObjectPropertiesValuesFromArray(ref tmp, arrayValues);
     Assert.AreEqual(true, ret);
     Assert.AreEqual(arrayValues[0], cl.B);
     Assert.AreEqual(arrayValues[1], cl.C);
     Assert.AreEqual(arrayValues[2], cl.D);
 }
Esempio n. 3
0
        public void SizeOfPublicPropertiesOfClass_ShouldReturnValidSize()
        {
            MyClassWithPrivateProperty cl = new MyClassWithPrivateProperty();
            UInt32 size = SizeofHelper.SizeOfPublicPropertiesWithModbusAttribute(cl);
            Assert.AreEqual(16, size);

            MyClassWithNonModbusPropertyAttributePublicProperty cl2 = new MyClassWithNonModbusPropertyAttributePublicProperty();
            size = SizeofHelper.SizeOfPublicPropertiesWithModbusAttribute(cl2);
            Assert.AreEqual(2, size);

            MyClassWithReadableModbusPropertyAttribute cl3 = new MyClassWithReadableModbusPropertyAttribute();
            size = SizeofHelper.SizeOfPublicPropertiesWithModbusAttribute(cl3,ModbusRegisterAccessType.AccessReadWrite);
            Assert.AreEqual(2, size);

            size = SizeofHelper.SizeOfPublicPropertiesWithModbusAttribute(cl3, ModbusRegisterAccessType.AccessRead);
            Assert.AreEqual(6, size);
        }