public bool? AcceptNulledDefault(DefaultTest d) { if (d == null || d.X.HasValue != true || d.X.Value != 32) { return false; } return true; }
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); }
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); }
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; }