static IEnumerable <TEnum> GetEnumValues <TEnum>(bool excludeCombinations)
        {
            IEnumerable <TEnum> values;

            var enumType = typeof(TEnum);

            if (enumType.IsEnum)
            {
                values = Enumerator.GetAll <TEnum>();
            }
            else if (enumType.IsGenericType && enumType.GetGenericTypeDefinition() == typeof(Nullable <>))
            {
                values = Enumerator.GetAll(enumType.GetGenericArguments()[0]).Cast <TEnum>();
            }
            else
            {
                throw new ArgumentException("TProperty: `" + enumType + "` must be an Enum");
            }

            if (!excludeCombinations)
            {
                return(values);
            }

            return(values.Where(v => !(v as Enum).IsFlagCombination()));
        }
        public void GetAllShouldReturnAllValues()
        {
            var expected = new[]
            {
                SupplierStatus.Draft,
                SupplierStatus.AuthorityReview
            };

            var actual = Enumerator.GetAll <SupplierStatus>();

            actual.Should().BeEquivalentTo(expected, options => options.WithStrictOrdering());
        }
Exemple #3
0
        public void GetAllShouldReturnAllValues()
        {
            var expected = new[]
            {
                SizeType.Small,
                SizeType.Medium,
                SizeType.Large,
            };

            var actual = Enumerator.GetAll <SizeType>();

            actual.Should().BeEquivalentTo(expected, options => options.WithStrictOrdering());
        }