Exemplo n.º 1
0
        public void Test_CompareTo_Equal()
        {
            var tripOne = new Triple("12.3.4");
            var tripTwo = new Triple("12.3.4");

            Assert.AreEqual(0, tripOne.CompareTo(tripTwo));
            Assert.AreEqual(0, tripTwo.CompareTo(tripOne));
            // self comparison
            Assert.AreEqual(0, tripOne.CompareTo(tripOne));
            Assert.AreEqual(0, tripTwo.CompareTo(tripTwo));
        }
Exemplo n.º 2
0
 public void UncomparableThird()
 {
     Triple<int, string, Unorderable> triple1, triple2;
     triple1 = new Triple<int, string, Unorderable>(3, "Oasis", new Unorderable());
     triple2 = new Triple<int, string, Unorderable>(3, "Oasis", new Unorderable());
     int compare = triple1.CompareTo(triple2);
 }
Exemplo n.º 3
0
 public void UncomparableSecond()
 {
     Triple<int, Unorderable, string> triple1, triple2;
     triple1 = new Triple<int, Unorderable, string>(3, new Unorderable(), "Eric");
     triple2 = new Triple<int, Unorderable, string>(3, new Unorderable(), "Clapton");
     int compare = triple1.CompareTo(triple2);
 }
Exemplo n.º 4
0
 public void UncomparableFirst()
 {
     Triple<Unorderable, int, string> triple1, triple2;
     triple1 = new Triple<Unorderable, int, string>(new Unorderable(), 5, "hello");
     triple2 = new Triple<Unorderable, int, string>(new Unorderable(), 7, "world");
     int compare = triple1.CompareTo(triple2);
 }
Exemplo n.º 5
0
        public void Test_CompareTo_Greater()
        {
            var tripOne = new Triple("9.6.3");
            var tripTwo = new Triple("12.3.4");

            Assert.IsTrue(tripOne.CompareTo(tripTwo) < 0);
            Assert.IsTrue(tripTwo.CompareTo(tripOne) > 0);
        }
Exemplo n.º 6
0
        public void UncomparableThird()
        {
            Triple <int, string, Unorderable> triple1, triple2;

            triple1 = new Triple <int, string, Unorderable>(3, "Oasis", new Unorderable());
            triple2 = new Triple <int, string, Unorderable>(3, "Oasis", new Unorderable());
            int compare;

            Assert.Throws <NotSupportedException>(() => compare = triple1.CompareTo(triple2),
                                                  "Type \"Wintellect.PowerCollections.Tests.TripleTests+Unorderable\" does not implement IComparable<Wintellect.PowerCollections.Tests.TripleTests+Unorderable> or IComparable.",
                                                  null);
        }
Exemplo n.º 7
0
        public void UncomparableFirst()
        {
            Triple <Unorderable, int, string> triple1, triple2;

            triple1 = new Triple <Unorderable, int, string>(new Unorderable(), 5, "hello");
            triple2 = new Triple <Unorderable, int, string>(new Unorderable(), 7, "world");
            int compare;

            Assert.Throws <NotSupportedException>(() => compare = triple1.CompareTo(triple2),
                                                  "Type \"Wintellect.PowerCollections.Tests.TripleTests+Unorderable\" does not implement IComparable<Wintellect.PowerCollections.Tests.TripleTests+Unorderable> or IComparable.",
                                                  null);
        }
Exemplo n.º 8
0
        public void GenericComparable()
        {
            Triple <int, GOddEvenComparable, string> triple1, triple2;

            triple1 = new Triple <int, GOddEvenComparable, string>(4, new GOddEvenComparable(7), "B");
            triple2 = new Triple <int, GOddEvenComparable, string>(7, new GOddEvenComparable(3), "A");
            Assert.IsTrue(triple1.CompareTo(triple2) < 0);
            Assert.IsFalse(triple1.Equals(triple2));
            Assert.IsFalse(triple1.GetHashCode() == triple2.GetHashCode());

            triple1 = new Triple <int, GOddEvenComparable, string>(4, new GOddEvenComparable(7), "B");
            triple2 = new Triple <int, GOddEvenComparable, string>(4, new GOddEvenComparable(2), "A");
            Assert.IsTrue(triple1.CompareTo(triple2) < 0);
            Assert.IsFalse(triple1.Equals(triple2));
            Assert.IsFalse(triple1.GetHashCode() == triple2.GetHashCode());

            triple1 = new Triple <int, GOddEvenComparable, string>(4, new GOddEvenComparable(7), "A");
            triple2 = new Triple <int, GOddEvenComparable, string>(4, new GOddEvenComparable(7), "A");
            Assert.IsTrue(triple1.CompareTo(triple2) == 0);
            Assert.IsTrue(triple1.Equals(triple2));
            Assert.IsTrue(triple1.GetHashCode() == triple2.GetHashCode());

            triple1 = new Triple <int, GOddEvenComparable, string>(7, new GOddEvenComparable(7), "B");
            triple2 = new Triple <int, GOddEvenComparable, string>(4, new GOddEvenComparable(2), "C");
            Assert.IsTrue(triple1.CompareTo(triple2) > 0);
            Assert.IsFalse(triple1.Equals(triple2));
            Assert.IsFalse(triple1.GetHashCode() == triple2.GetHashCode());

            triple1 = new Triple <int, GOddEvenComparable, string>(0, new GOddEvenComparable(8), "A");
            triple2 = new Triple <int, GOddEvenComparable, string>(0, new GOddEvenComparable(2), "A");
            Assert.IsTrue(triple1.CompareTo(triple2) > 0);
            Assert.IsFalse(triple1.Equals(triple2));
            Assert.IsFalse(triple1.GetHashCode() == triple2.GetHashCode());

            Triple <GOddEvenComparable, int, string> triple3, triple4;

            triple3 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(7), 4, "A");
            triple4 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(3), 7, "B");
            Assert.IsTrue(triple3.CompareTo(triple4) > 0);
            Assert.IsFalse(triple3.Equals(triple4));
            Assert.IsFalse(triple3.GetHashCode() == triple4.GetHashCode());

            triple3 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(7), 4, "B");
            triple4 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(2), 4, "A");
            Assert.IsTrue(triple3.CompareTo(triple4) < 0);
            Assert.IsFalse(triple3.Equals(triple4));
            Assert.IsFalse(triple3.GetHashCode() == triple4.GetHashCode());

            triple3 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(7), 4, "C");
            triple4 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(7), 4, "C");
            Assert.IsTrue(triple3.CompareTo(triple4) == 0);
            Assert.IsTrue(triple3.Equals(triple4));
            Assert.IsTrue(triple3.GetHashCode() == triple4.GetHashCode());

            triple3 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(2), 7, "A");
            triple4 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(7), 4, "B");
            Assert.IsTrue(triple3.CompareTo(triple4) > 0);
            Assert.IsFalse(triple3.Equals(triple4));
            Assert.IsFalse(triple3.GetHashCode() == triple4.GetHashCode());

            triple3 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(8), 0, "A");
            triple4 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(2), 0, "A");
            Assert.IsTrue(triple3.CompareTo(triple4) > 0);
            Assert.IsFalse(triple3.Equals(triple4));
            Assert.IsFalse(triple3.GetHashCode() == triple4.GetHashCode());

            triple3 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(2), 4, "A");
            triple4 = new Triple <GOddEvenComparable, int, string>(new GOddEvenComparable(2), 3, "B");
            Assert.IsTrue(triple3.CompareTo(triple4) > 0);
            Assert.IsFalse(triple3.Equals(triple4));
            Assert.IsFalse(triple3.GetHashCode() == triple4.GetHashCode());

            Triple <int, string, GOddEvenComparable> triple5, triple6;

            triple5 = new Triple <int, string, GOddEvenComparable>(4, "B", new GOddEvenComparable(7));
            triple6 = new Triple <int, string, GOddEvenComparable>(7, "A", new GOddEvenComparable(3));
            Assert.IsTrue(triple5.CompareTo(triple6) < 0);
            Assert.IsFalse(triple5.Equals(triple6));
            Assert.IsFalse(triple5.GetHashCode() == triple6.GetHashCode());

            triple5 = new Triple <int, string, GOddEvenComparable>(4, "A", new GOddEvenComparable(7));
            triple6 = new Triple <int, string, GOddEvenComparable>(4, "A", new GOddEvenComparable(2));
            Assert.IsTrue(triple5.CompareTo(triple6) < 0);
            Assert.IsFalse(triple5.Equals(triple6));
            Assert.IsFalse(triple5.GetHashCode() == triple6.GetHashCode());

            triple5 = new Triple <int, string, GOddEvenComparable>(4, "A", new GOddEvenComparable(7));
            triple6 = new Triple <int, string, GOddEvenComparable>(4, "A", new GOddEvenComparable(7));
            Assert.IsTrue(triple5.CompareTo(triple6) == 0);
            Assert.IsTrue(triple5.Equals(triple6));
            Assert.IsTrue(triple5.GetHashCode() == triple6.GetHashCode());

            triple5 = new Triple <int, string, GOddEvenComparable>(7, "B", new GOddEvenComparable(7));
            triple6 = new Triple <int, string, GOddEvenComparable>(4, "C", new GOddEvenComparable(2));
            Assert.IsTrue(triple5.CompareTo(triple6) > 0);
            Assert.IsFalse(triple5.Equals(triple6));
            Assert.IsFalse(triple5.GetHashCode() == triple6.GetHashCode());

            triple5 = new Triple <int, string, GOddEvenComparable>(0, "A", new GOddEvenComparable(8));
            triple6 = new Triple <int, string, GOddEvenComparable>(0, "A", new GOddEvenComparable(2));
            Assert.IsTrue(triple5.CompareTo(triple6) > 0);
            Assert.IsFalse(triple5.Equals(triple6));
            Assert.IsFalse(triple5.GetHashCode() == triple6.GetHashCode());
        }