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)); }
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); }
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); }
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); }
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); }
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); }
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); }
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()); }