public void ViewManagersPropertyCache_Defaults()
        {
            var instance = new DefaultsTest();
            var setters = ViewManagersPropertyCache.GetNativePropertySettersForViewManagerType(typeof(DefaultsTest));

            var props = new ReactStylesDiffMap(new JObject());

            instance.ByteValue = byte.MaxValue;
            instance.SByteValue = sbyte.MaxValue;
            instance.Int16Value = short.MaxValue;
            instance.UInt16Value = ushort.MaxValue;
            instance.Int32Value = int.MaxValue;
            instance.UInt32Value = uint.MaxValue;
            instance.Int64Value = long.MaxValue;
            instance.UInt64Value = ulong.MaxValue;
            instance.SingleValue = float.MaxValue;
            instance.DoubleValue = double.MaxValue;
            instance.DecimalValue = decimal.MaxValue;
            instance.BooleanValue = true;
            instance.StringValue = "foo";
            instance.ArrayValue = new int[0];
            instance.MapValue = new object();
            instance.NullableValue = true;
            instance.GroupValue = new[] { "a", "b", "c" };

            setters["TestByte"].UpdateViewManagerProperty(instance, null, props);
            setters["TestSByte"].UpdateViewManagerProperty(instance, null, props);
            setters["TestInt16"].UpdateViewManagerProperty(instance, null, props);
            setters["TestUInt16"].UpdateViewManagerProperty(instance, null, props);
            setters["TestInt32"].UpdateViewManagerProperty(instance, null, props);
            setters["TestUInt32"].UpdateViewManagerProperty(instance, null, props);
            setters["TestInt64"].UpdateViewManagerProperty(instance, null, props);
            setters["TestUInt64"].UpdateViewManagerProperty(instance, null, props);
            setters["TestSingle"].UpdateViewManagerProperty(instance, null, props);
            setters["TestDouble"].UpdateViewManagerProperty(instance, null, props);
            setters["TestDecimal"].UpdateViewManagerProperty(instance, null, props);
            setters["TestBoolean"].UpdateViewManagerProperty(instance, null, props);
            setters["TestString"].UpdateViewManagerProperty(instance, null, props);
            setters["TestArray"].UpdateViewManagerProperty(instance, null, props);
            setters["TestMap"].UpdateViewManagerProperty(instance, null, props);
            setters["TestNullable"].UpdateViewManagerProperty(instance, null, props);
            setters["foo"].UpdateViewManagerProperty(instance, null, props);
            setters["bar"].UpdateViewManagerProperty(instance, null, props);
            setters["baz"].UpdateViewManagerProperty(instance, null, props);

            Assert.AreEqual(0, instance.ByteValue);
            Assert.AreEqual(0, instance.SByteValue);
            Assert.AreEqual(0, instance.Int16Value);
            Assert.AreEqual(0, instance.UInt16Value);
            Assert.AreEqual(0, instance.Int32Value);
            Assert.AreEqual((uint)0, instance.UInt32Value);
            Assert.AreEqual(0, instance.Int64Value);
            Assert.AreEqual((ulong)0, instance.UInt64Value);
            Assert.AreEqual(0, instance.SingleValue);
            Assert.AreEqual(0, instance.DoubleValue);
            Assert.AreEqual(0, instance.DecimalValue);
            Assert.IsFalse(instance.BooleanValue);
            Assert.IsNull(instance.StringValue);
            Assert.IsNull(instance.ArrayValue);
            Assert.IsNull(instance.MapValue);
            Assert.IsFalse(instance.NullableValue.HasValue);
            Assert.IsNull(instance.GroupValue[0]);
            Assert.IsNull(instance.GroupValue[1]);
            Assert.IsNull(instance.GroupValue[2]);
        }
コード例 #2
0
        public void ViewManagersPropertyCache_Defaults()
        {
            var instance = new DefaultsTest();
            var setters  = ViewManagersPropertyCache.GetNativePropertySettersForViewManagerType(typeof(DefaultsTest));

            var props = new ReactStylesDiffMap(new JObject());

            instance.ByteValue     = byte.MaxValue;
            instance.SByteValue    = sbyte.MaxValue;
            instance.Int16Value    = short.MaxValue;
            instance.UInt16Value   = ushort.MaxValue;
            instance.Int32Value    = int.MaxValue;
            instance.UInt32Value   = uint.MaxValue;
            instance.Int64Value    = long.MaxValue;
            instance.UInt64Value   = ulong.MaxValue;
            instance.SingleValue   = float.MaxValue;
            instance.DoubleValue   = double.MaxValue;
            instance.DecimalValue  = decimal.MaxValue;
            instance.BooleanValue  = true;
            instance.StringValue   = "foo";
            instance.ArrayValue    = new int[0];
            instance.MapValue      = new object();
            instance.NullableValue = true;
            instance.GroupValue    = new[] { "a", "b", "c" };

            setters["TestByte"].UpdateViewManagerProperty(instance, null, props);
            setters["TestSByte"].UpdateViewManagerProperty(instance, null, props);
            setters["TestInt16"].UpdateViewManagerProperty(instance, null, props);
            setters["TestUInt16"].UpdateViewManagerProperty(instance, null, props);
            setters["TestInt32"].UpdateViewManagerProperty(instance, null, props);
            setters["TestUInt32"].UpdateViewManagerProperty(instance, null, props);
            setters["TestInt64"].UpdateViewManagerProperty(instance, null, props);
            setters["TestUInt64"].UpdateViewManagerProperty(instance, null, props);
            setters["TestSingle"].UpdateViewManagerProperty(instance, null, props);
            setters["TestDouble"].UpdateViewManagerProperty(instance, null, props);
            setters["TestDecimal"].UpdateViewManagerProperty(instance, null, props);
            setters["TestBoolean"].UpdateViewManagerProperty(instance, null, props);
            setters["TestString"].UpdateViewManagerProperty(instance, null, props);
            setters["TestArray"].UpdateViewManagerProperty(instance, null, props);
            setters["TestMap"].UpdateViewManagerProperty(instance, null, props);
            setters["TestNullable"].UpdateViewManagerProperty(instance, null, props);
            setters["foo"].UpdateViewManagerProperty(instance, null, props);
            setters["bar"].UpdateViewManagerProperty(instance, null, props);
            setters["baz"].UpdateViewManagerProperty(instance, null, props);

            Assert.AreEqual(0, instance.ByteValue);
            Assert.AreEqual(0, instance.SByteValue);
            Assert.AreEqual(0, instance.Int16Value);
            Assert.AreEqual(0, instance.UInt16Value);
            Assert.AreEqual(0, instance.Int32Value);
            Assert.AreEqual((uint)0, instance.UInt32Value);
            Assert.AreEqual(0, instance.Int64Value);
            Assert.AreEqual((ulong)0, instance.UInt64Value);
            Assert.AreEqual(0, instance.SingleValue);
            Assert.AreEqual(0, instance.DoubleValue);
            Assert.AreEqual(0, instance.DecimalValue);
            Assert.IsFalse(instance.BooleanValue);
            Assert.IsNull(instance.StringValue);
            Assert.IsNull(instance.ArrayValue);
            Assert.IsNull(instance.MapValue);
            Assert.IsFalse(instance.NullableValue.HasValue);
            Assert.IsNull(instance.GroupValue[0]);
            Assert.IsNull(instance.GroupValue[1]);
            Assert.IsNull(instance.GroupValue[2]);
        }