public void TestListingValidFieldsDepth1() { var extractor = new ReflectionBasedValueExtractor(); var model = new Model(); List<String> actualItems = extractor.DiscoverValidValuePaths(model, 1).ToList(); var expectedItems = new List<String>() { "PublicField", "PublicProperty", "ChildList", "ChildList.Count", }; CollectionAssert.AreEquivalent(expectedItems, actualItems); }
public void TestListingValidFieldsWithArray() { var extractor = new ReflectionBasedValueExtractor(); var model = new { Name = "", ArrayItems = new Model[] { } }; List<String> actualItems = extractor.DiscoverValidValuePaths(model, 2).ToList(); var expectedItems = new List<String>() { "Name", "ArrayItems", "ArrayItems.Length", "ArrayItems.PublicField", "ArrayItems.PublicProperty", "ArrayItems.ChildList", "ArrayItems.ChildList.Count", }; CollectionAssert.AreEquivalent(expectedItems, actualItems); }