public void Equals_SameDictionary_TrueIsReturned()
        {
            var dictionary = new Dictionary <string, string>
            {
                { "one", "uno" },
                { "two", "due" },
                { "three", "tre" }
            };

            var result = new ConfigurationDictionaryEqualityComparer <string, string>().Equals(dictionary, dictionary);

            result.Should().BeTrue();
        }
        public void Equals_NullDictionaryVsEmptyDictionary_TrueIsReturned()
        {
            Dictionary <string, string> dictionaryX = new();
            Dictionary <string, string>?dictionaryY = null;

            var result1 =
                new ConfigurationDictionaryEqualityComparer <string, string>().Equals(dictionaryX, dictionaryY);
            var result2 =
                new ConfigurationDictionaryEqualityComparer <string, string>().Equals(dictionaryY, dictionaryX);

            result1.Should().BeTrue();
            result2.Should().BeTrue();
        }
        public void Equals_DifferentKeys_FalseIsReturned()
        {
            var dictionaryX = new Dictionary <string, string>
            {
                { "one", "uno" },
                { "two", "due" },
                { "three", "tre" }
            };
            var dictionaryY = new Dictionary <string, string>
            {
                { "one", "uno" },
                { "two", "due" },
                { "four", "quattro" }
            };

            var result = new ConfigurationDictionaryEqualityComparer <string, string>().Equals(dictionaryX, dictionaryY);

            result.Should().BeFalse();
        }
        public void Equals_NullVsMissingKey_FalseIsReturned()
        {
            var dictionaryX = new Dictionary <string, string?>
            {
                { "one", "uno" },
                { "two", "due" },
                { "three", null }
            };
            var dictionaryY = new Dictionary <string, string?>
            {
                { "one", "uno" },
                { "two", "due" }
            };

            var result =
                new ConfigurationDictionaryEqualityComparer <string, string?>().Equals(dictionaryX, dictionaryY);

            result.Should().BeFalse();
        }