public void GetDescriptions_WhenNoSpecialInterfacesAreImplemented_WhenEnumerableIsGeneric_RetrievesDescriptionsFromTheTypeOfTheGenericArgument() { var items = EnumerableScenariosHelper.GetGenericEnumerableOfBaseTypeWithItemsThatInheritFromBaseType(); var extractor = new EnumerableFieldDescriptionsExtractor(items); var expectedProperyNames = new[] { "NormalPropertyOne", "NormalPropertyTwo" }; var descriptions = extractor.GetDescriptions(); var actualPropertyNames = descriptions.Select(fd => fd.Name).ToList(); CollectionAssert.AreEqual(expectedProperyNames, actualPropertyNames); }
public void GenerateDescriptionsData_WhenItemsSourceOfTheDataProviderIsEnumerable_WhenNoSpecialInterfacesAreImplemented_WhenEnumerableIsGeneric_ReturnsDescriptionsDataWithFieldInfoNodesForEveryPublicPropertyOfTheGenericTypeArgument() { var items = EnumerableScenariosHelper.GetGenericEnumerableOfBaseTypeWithItemsThatInheritFromBaseType(); this.dataProvider.ItemsSource = items; var expectedFieldInfoNames = new[] { "NormalPropertyOne", "NormalPropertyTwo" }; var infoData = this.provider.ExposedGenerateDescriptionsData(); var actualFieldInfoNames = infoData.RootFieldInfo.Children.OfType <FieldInfoNode>().Select(fd => fd.FieldInfo.Name).ToList(); CollectionAssert.AreEqual(expectedFieldInfoNames, actualFieldInfoNames); }