public void ReflectedHierarchyNodeFactory_doesnt_create_child_nodes_for_value_types() { // ARRANGE var factory = new ReflectedHierarchyNodeFactory(); var date = DateTime.Now; // ACT var result = factory.Create(date, typeof(DateTime).GetProperty(nameof(DateTime.Second))); // ASSERT Assert.Null(result); }
public void ReflectedHierarchyNodeFactory_doesnt_create_child_nodes_for_string() { // ARRANGE var factory = new ReflectedHierarchyNodeFactory(); var str = "string"; // ACT // string properties are ignored var result = factory.Create(str, typeof(string).GetProperty(nameof(string.Length))); // ASSERT Assert.Null(result); }
public void ReflectedHierarchyNodeFactory_creates_property_node_from_string() { // ARRANGE var factory = new ReflectedHierarchyNodeFactory(); var obj = new { data = "str" }; // ACT var result = factory.Create(obj, obj.GetType().GetProperty(nameof(obj.data))); // ASSERT Assert.IsType <ReflectedHierarchyPropertyNode>(result); }
public void ReflectedHierarchyNodeFactory_creates_enumerable_node_from_array() { // ARRANGE var factory = new ReflectedHierarchyNodeFactory(); var obj = new { data = new[] { 1 } }; // ACT var result = factory.Create(obj, obj.GetType().GetProperty(nameof(obj.data))); // ASSERT Assert.IsType <ReflectedHierarchyEnumerableNode>(result); }