public void AttributeTest(Tester enumValue, bool hasMarker1, bool hasMarker2)
        {
            Assert.Equal(enumValue.HasAttribute <Tester, MarkerOneAttribute>(), hasMarker1);
            if (hasMarker1)
            {
                AssertContains <MarkerOneAttribute>();
            }
            else
            {
                AssertDoesNotContain <MarkerOneAttribute>();
            }

            Assert.Equal(enumValue.HasAttribute <Tester, MarkerTwoAttribute>(), hasMarker2);
            if (hasMarker2)
            {
                AssertContains <MarkerTwoAttribute>();
            }
            else
            {
                AssertDoesNotContain <MarkerTwoAttribute>();
            }

            bool EnumValueMatches(Tester value) => value == enumValue;
            void AssertContains <TAttribute>() where TAttribute : Attribute
            => Assert.Contains(EnumExtensions.EnumValuesWithAttribute <Tester, TAttribute>(), EnumValueMatches);
            void AssertDoesNotContain <TAttribute>() where TAttribute : Attribute
            => Assert.DoesNotContain(EnumExtensions.EnumValuesWithAttribute <Tester, TAttribute>(), EnumValueMatches);
        }