public void GetAttribute_OnFieldWithoutAttribute()
        {
            EnumerationMock mock = EnumerationMock.FieldA;
            var             attr = mock.GetAttribute <EnumFooFieldAttribute>();

            Assert.Null(attr);
        }
        public void GetAttribute_OnFieldWithAttribute()
        {
            EnumerationMock mock = EnumerationMock.FieldB;
            var             attr = mock.GetAttribute <EnumFieldAttribute>();

            Assert.IsType <EnumFieldAttribute>(attr);
            Assert.NotNull(attr);
            Assert.Equal("Field B", attr.Value);
        }
        public void GetAttributes_AllAttributes()
        {
            EnumerationMock mock  = EnumerationMock.FieldB;
            var             attrs = mock.GetAttributes();

            Assert.NotNull(attrs);
            Assert.Equal(2, attrs.Count());
            Assert.Contains(attrs, attr => attr.GetType() == typeof(EnumFieldAttribute));
            Assert.Contains(attrs, attr => attr.GetType() == typeof(EnumFooFieldAttribute));
        }
        public void GetAttributes_OfGenericType()
        {
            EnumerationMock mock  = EnumerationMock.FieldB;
            var             attrs = mock.GetAttributes <EnumFieldAttribute>();

            foreach (var foo in attrs)
            {
                TestOutputHelper.WriteLine($"Attribute Value: {foo.Value} ");
            }

            Assert.NotNull(attrs);
            Assert.Single(attrs);

            var attr = attrs.FirstOrDefault();

            Assert.NotNull(attr);
            Assert.Equal("Field B", attr.Value);
        }