public void TestMethod1()
        {
            var            a    = "2.E";
            var            b    = "2.F";
            var            c    = "2.C";
            var            d    = "1.F";
            var            e    = "3.A";
            StringComparer comp = new MyStringComparer();

            Assert.IsTrue(b.IsSameOrAfter(a, comp));
            Assert.IsFalse(c.IsSameOrAfter(a, comp));
            Assert.IsFalse(d.IsSameOrAfter(a, comp));
            Assert.IsTrue(e.IsSameOrAfter(a, comp));
            Assert.IsTrue(a.IsSameOrAfter(a, comp));
        }
        public void TestMethod2()
        {
            var            a    = "2.E.1";
            var            b    = "2.E";
            var            c    = "2.E.2";
            var            d    = "2.F";
            var            e    = "2.D.3";
            var            f    = "3.A";
            StringComparer comp = new MyStringComparer();

            Assert.IsFalse(b.DotDelimitedIsSameOrAfter(a));
            Assert.IsTrue(c.DotDelimitedIsSameOrAfter(a));
            Assert.IsTrue(d.DotDelimitedIsSameOrAfter(a));
            Assert.IsFalse(e.DotDelimitedIsSameOrAfter(a));
            Assert.IsTrue(f.DotDelimitedIsSameOrAfter(a));
            Assert.IsTrue(a.DotDelimitedIsSameOrAfter(a));
        }