public void ViewManagersPropertyCache_ShadowNode_Set() { var instance = new ShadowNodeValueTest(); var setters = ViewManagersPropertyCache.GetNativePropertySettersForShadowNodeType(typeof(ShadowNodeValueTest)); Assert.AreEqual(3, setters.Count); var props = new ReactStylesDiffMap(new JObject { { "Foo", 42 }, { "Qux1", "v2" }, { "Qux2", "v3" }, }); AssertEx.Throws<NotSupportedException>(() => setters["Foo"].UpdateViewManagerProperty(new ViewManagerValueTest(), null, props)); AssertEx.Throws<ArgumentNullException>( () => setters["Foo"].UpdateShadowNodeProperty(null, props), ex => Assert.AreEqual("shadowNode", ex.ParamName)); AssertEx.Throws<ArgumentNullException>( () => setters["Foo"].UpdateShadowNodeProperty(instance, null), ex => Assert.AreEqual("props", ex.ParamName)); setters["Foo"].UpdateShadowNodeProperty(instance, props); setters["Qux1"].UpdateShadowNodeProperty(instance, props); setters["Qux2"].UpdateShadowNodeProperty(instance, props); Assert.AreEqual(42, instance.FooValue); Assert.AreEqual("v2", instance.QuxValues[0]); Assert.AreEqual("v3", instance.QuxValues[1]); }
public void ViewManagersPropertyCache_ShadowNode_Set() { var instance = new ShadowNodeValueTest(); var setters = ViewManagersPropertyCache.GetNativePropertySettersForShadowNodeType(typeof(ShadowNodeValueTest)); Assert.AreEqual(3, setters.Count); var props = new ReactStylesDiffMap(new JObject { { "Foo", 42 }, { "Qux1", "v2" }, { "Qux2", "v3" }, }); AssertEx.Throws <NotSupportedException>(() => setters["Foo"].UpdateViewManagerProperty(new ViewManagerValueTest(), null, props)); AssertEx.Throws <ArgumentNullException>( () => setters["Foo"].UpdateShadowNodeProperty(null, props), ex => Assert.AreEqual("shadowNode", ex.ParamName)); AssertEx.Throws <ArgumentNullException>( () => setters["Foo"].UpdateShadowNodeProperty(instance, null), ex => Assert.AreEqual("props", ex.ParamName)); setters["Foo"].UpdateShadowNodeProperty(instance, props); setters["Qux1"].UpdateShadowNodeProperty(instance, props); setters["Qux2"].UpdateShadowNodeProperty(instance, props); Assert.AreEqual(42, instance.FooValue); Assert.AreEqual("v2", instance.QuxValues[0]); Assert.AreEqual("v3", instance.QuxValues[1]); }