public void TestDictEquals()
        {
            var dic1 = new Dictionary <string, string> {
                { "linux", "good" }, { "macos", "bad" }, { "windows", "ugly" }
            };
            var dic2 = new Dictionary <string, string> {
                { "linux", "good" }, { "freebsd", "correct" },
                { "macos", "bad" }, { "windows", "ugly" }
            };
            var dic3 = new Dictionary <string, string> {
                { "linux", "good" }, { "freebsd", "correct" }, { "windows", "ugly" }
            };
            var dic4 = new Dictionary <string, string> {
                { "linux", "good" }, { "macos", "bad" }, { "windows", "awful" }
            };
            var dic5 = new Dictionary <string, string> {
                { "linux", "good" }, { "macos", "bad" }, { "windows", null }
            };
            var dic6 = new Dictionary <string, string> {
                { "linux", "good" }, { "macos", "bad" }, { "windows", "ugly" }
            };

            Assert.True(CollectionExtensions.DictEquals((IDictionary <string, string>)null, (IDictionary <string, string>)null));
            Assert.False(CollectionExtensions.DictEquals((IDictionary <string, string>)null, dic1));
            Assert.False(dic1.DictEquals(null));
            Assert.False(dic1.DictEquals(dic2));
            Assert.False(dic1.DictEquals(dic3));
            Assert.False(dic1.DictEquals(dic4));
            Assert.False(dic1.DictEquals(dic5));
            Assert.True(dic1.DictEquals(dic6));
        }