public void Test_AddAndDisplayAttributeValue(TestType testType, string value)
        {
            _enumDisplayUtils.Add(testType);

            Assert.Equal(value, _enumDisplayUtils.Display(testType));
            Assert.Equal(EnumDisplayUtils.DefaultDisplay(testType), _enumDisplayUtils.Display(testType));
        }
        public void Test_AddAndContainsKeyAndDisplay(Enum key)
        {
            Assert.False(_enumDisplayUtils.ContainsKey(key));

            _enumDisplayUtils.Add(key);

            Assert.True(_enumDisplayUtils.ContainsKey(key));
            Assert.Equal(EnumDisplayUtils.DefaultDisplay(key), _enumDisplayUtils.Display(key));
        }
        private void Test_DisplayCustomDefault_Implementation(Enum key, Func <Enum, string> defaultDisplay)
        {
            var enumDisplayUtils = new EnumDisplayUtils(defaultDisplay: defaultDisplay);

            enumDisplayUtils.Add(key);
            Assert.Equal(defaultDisplay(key), enumDisplayUtils.Display(key));

            enumDisplayUtils = new EnumDisplayUtils(defaultDisplay: defaultDisplay);
            Assert.Equal(defaultDisplay(key), enumDisplayUtils.Display(key));
        }
        // ReSharper disable once ParameterOnlyUsedForPreconditionCheck.Local
        private void Test_CacheValueOnDisplay_Implementation(
            Enum key, Enum otherKey, EnumDisplayUtils enumDisplayUtils, bool cacheValueOnDisplay)
        {
            Assert.Equal(cacheValueOnDisplay, enumDisplayUtils.CacheValueOnDisplay);
            Assert.False(enumDisplayUtils.ContainsKey(key));
            Assert.False(enumDisplayUtils.ContainsKey(otherKey));

            enumDisplayUtils.Add(key);
            Assert.True(enumDisplayUtils.ContainsKey(key));
            Assert.False(enumDisplayUtils.ContainsKey(otherKey));

            Assert.Equal(EnumDisplayUtils.DefaultDisplay(key), enumDisplayUtils.Display(key));
            Assert.Equal(EnumDisplayUtils.DefaultDisplay(otherKey), enumDisplayUtils.Display(otherKey));

            Assert.True(enumDisplayUtils.ContainsKey(key));
            Assert.Equal(enumDisplayUtils.CacheValueOnDisplay, enumDisplayUtils.ContainsKey(otherKey));
        }