public void ComparerKeyValueFromComparerKey()
        {
            IComparer <KeyValuePair <int, string> > comparer = Comparers.ComparerKeyValueFromComparerKey <int, string>(new GOddEvenComparer());

            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(7, "foo"), new KeyValuePair <int, string>(6, "bar")) < 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(7, "bar"), new KeyValuePair <int, string>(8, "foo")) < 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(12, "baz"), new KeyValuePair <int, string>(11, "baz")) > 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(12, "a"), new KeyValuePair <int, string>(143, "foo")) > 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(5, "b"), new KeyValuePair <int, string>(7, "d")) < 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(9, "c"), new KeyValuePair <int, string>(5, "c")) > 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(6, "e"), new KeyValuePair <int, string>(8, "b")) < 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(14, "f"), new KeyValuePair <int, string>(-8, "a")) > 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(0, "g"), new KeyValuePair <int, string>(0, "r")) == 0);
            Assert.IsTrue(comparer.Compare(new KeyValuePair <int, string>(-3, "q"), new KeyValuePair <int, string>(-3, "f")) == 0);
        }