public void Sort_Sorts_Unsorted_Array_Of_Custom_Comparable_Objects() { _algorithms.ForEach(alg => { var source = new TestComparable[] { new TestComparable(6), new TestComparable(2), new TestComparable(9), new TestComparable(4), new TestComparable(1), new TestComparable(8), new TestComparable(5), new TestComparable(3), new TestComparable(7), new TestComparable(0) }; alg.Sort(source); bool allElementsAtSortedIndexes = source.All(item => item.Number == Array.IndexOf(source, item)); Assert.IsTrue(allElementsAtSortedIndexes); }); }
public void ComparableComparerTest() { var c = new ComparableComparer <TestComparable>(); var test0 = new TestComparable { Value = 0 }; var test1 = new TestComparable { Value = 100 }; var test2 = new TestComparable { Value = 200 }; var test3 = new TestComparable { Value = 1000 }; Assert.AreEqual(-1, c.Compare(test0, test1)); Assert.AreEqual(-1, c.Compare(test0, test2)); Assert.AreEqual(1, c.Compare(test3, test2)); }
public void EnumerableOrderedTest() { var test = new TestComparable[] { new TestComparable { Value = 0 }, new TestComparable { Value = -20 }, new TestComparable { Value = 15 }, new TestComparable { Value = 490 }, new TestComparable { Value = 100 }, new TestComparable { Value = -500 } }; CollectionAssert.AreEqual( new int[] { -500, -20, 0, 15, 100, 490 }, test.Ordered().Select(x => x.Value).ToArray() ); var c = new ComparableComparer <TestComparable>(); CollectionAssert.AreEqual( new int[] { 490, 100, 15, 0, -20, -500 }, test.Ordered(c.Reversed()).Select(x => x.Value).ToArray() ); }