public bool? AcceptNulledDefault(DefaultTest d)
 {
     if (d == null || d.X.HasValue != true || d.X.Value != 32)
     {
         return false;
     }
     return true;
 }
Exemple #2
0
        public void PropertySetter_DefaultValue()
        {
            var methods = new[]
            {
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestBoolean(null, false)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestByte(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestSByte(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestInt16(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestUInt16(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestInt32(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestUInt32(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestInt64(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestUInt64(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestSingle(null, 0)),
                (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestDouble(null, 0)),
            };

            var instance = new DefaultTest();

            Assert.AreEqual(default(byte), instance.TestByteValue);
            Assert.AreEqual(default(sbyte), instance.TestSByteValue);
            Assert.AreEqual(default(short), instance.TestInt16Value);
            Assert.AreEqual(default(ushort), instance.TestUInt16Value);
            Assert.AreEqual(default(int), instance.TestInt32Value);
            Assert.AreEqual(default(uint), instance.TestUInt32Value);
            Assert.AreEqual(default(long), instance.TestInt64Value);
            Assert.AreEqual(default(ulong), instance.TestUInt64Value);
            Assert.AreEqual(default(float), instance.TestSingleValue);
            Assert.AreEqual(default(double), instance.TestDoubleValue);
            Assert.AreEqual(false, instance.TestBooleanValue);

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

            foreach (var method in methods)
            {
                var setter = PropertySetter.CreateViewManagerSetters(method).Single();
                setter.UpdateViewManagerProperty(instance, null, emptyMap);
            }

            Assert.AreEqual(byte.MaxValue, instance.TestByteValue);
            Assert.AreEqual(sbyte.MaxValue, instance.TestSByteValue);
            Assert.AreEqual(short.MaxValue, instance.TestInt16Value);
            Assert.AreEqual(ushort.MaxValue, instance.TestUInt16Value);
            Assert.AreEqual(int.MaxValue, instance.TestInt32Value);
            Assert.AreEqual(uint.MaxValue, instance.TestUInt32Value);
            Assert.AreEqual(long.MaxValue, instance.TestInt64Value);
            Assert.AreEqual(ulong.MaxValue, instance.TestUInt64Value);
            Assert.AreEqual(float.MaxValue, instance.TestSingleValue);
            Assert.AreEqual(double.MaxValue, instance.TestDoubleValue);
            Assert.AreEqual(true, instance.TestBooleanValue);
        }
Exemple #3
0
        public void PropertySetter_DefaultValue_Undefined()
        {
            var method   = (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestBoolean(null, false));
            var instance = new DefaultTest();

            Assert.AreEqual(false, instance.TestBooleanValue);
            var emptyMap = new ReactStylesDiffMap(new JObject
            {
                { "TestBoolean", JValue.CreateUndefined() },
            });

            var setter = PropertySetter.CreateViewManagerSetters(method).Single();

            setter.UpdateViewManagerProperty(instance, null, emptyMap);
            Assert.AreEqual(true, instance.TestBooleanValue);
        }
Exemple #4
0
        public void PropSetter_DefaultValue_Null()
        {
            var method   = (MethodInfo)ReflectionHelpers.InfoOf((DefaultTest t) => t.TestBoolean(null, false));
            var instance = new DefaultTest();

            Assert.AreEqual(false, instance.TestBooleanValue);
            var emptyMap = new JObject
            {
                { "TestBoolean", null },
            };

            var setter = PropSetter.CreateViewManagerSetters <object>(method).Single();

            setter.UpdateViewManagerProp(instance, null, emptyMap);
            Assert.AreEqual(true, instance.TestBooleanValue);
        }
 /// <summary>
 /// Accepts a DefaultTest struct and verifies that X is 32
 /// </summary>
 /// <param name="d"></param>
 public Task<bool?> AcceptNulledDefaultAsync(DefaultTest d)
 {
     return MakeRequestAndDeserializeAsync<bool?>("AcceptNulledDefault", new Dictionary<string, object>() { {"d", d } });
 }
 public DefaultTest ReturnNulledDefault()
 {
     DefaultTest d = new DefaultTest();
     d.X = null;
     return d;
 }