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 GetDescriptions_WhenNoSpecialInterfacesAreImplemented_WhenEmptyEnumerableIsPassed_WhenEnumerableIsNotGeneric_RetrievesNoDescriptions()
        {
            var items                = EnumerableScenariosHelper.GetNonGenericEmptyEnumerable();
            var extractor            = new EnumerableFieldDescriptionsExtractor(items);
            var expectedProperyNames = new string[] { };

            var descriptions        = extractor.GetDescriptions();
            var actualPropertyNames = descriptions.Select(fd => fd.Name).ToList();

            CollectionAssert.AreEqual(expectedProperyNames, actualPropertyNames);
        }