public void MinusOneResultDoNotCallStableSorter()
        {
            TestSorter s    = new TestSorter(-1);
            var        mock = new Mock <IComparer>(MockBehavior.Strict);

            s.StableSorter = mock.Object;
            Assert.AreEqual(-1, s.Compare(new TestRow(), new TestRow()));
            mock.Verify(m => m.Compare(It.IsAny <TestRow>(), It.IsAny <TestRow>()), Times.Never());
        }
        public void TestNullsInComparisonReturnOne()
        {
            TestSorter sorter = new TestSorter(3);

            Assert.AreEqual(3, sorter.Compare(new TestRow(), new TestRow()));
            Assert.AreEqual(1, sorter.Compare(null, new TestRow()));
            Assert.AreEqual(1, sorter.Compare(new TestRow(), null));
            Assert.AreEqual(1, sorter.Compare(null, null));
        }
        public void NullObjectsAreTestedAsOne()
        {
            TestSorter s = new TestSorter(3);

            Assert.AreEqual(1, s.Compare(null, null));
            Assert.AreEqual(1, s.Compare(new TestRow(), null));
            Assert.AreEqual(1, s.Compare(null, new TestRow()));
            Assert.AreEqual(3, s.Compare(new TestRow(), new TestRow()));
        }
        public void ZeroResultDoesCallStableSorterAndReturnsTheStableSorterValue()
        {
            TestSorter s    = new TestSorter(0);
            var        mock = new Mock <IComparer>(MockBehavior.Strict);

            mock.Setup(m => m.Compare(It.IsAny <TestRow>(), It.IsAny <TestRow>())).Returns(3);
            s.StableSorter = mock.Object;
            Assert.AreEqual(3, s.Compare(new TestRow(), new TestRow()));
            mock.Verify(m => m.Compare(It.IsAny <TestRow>(), It.IsAny <TestRow>()), Times.Once());
        }
        public void TestDefaultConstructorUsesAscending()
        {
            TestSorter sorter = new TestSorter(3);

            Assert.AreEqual(3, sorter.Compare(new TestRow(), new TestRow()));
        }
        public void TestDirectionConstructorDescending()
        {
            TestSorter sorter = new TestSorter(ListSortDirection.Descending, 3);

            Assert.AreEqual(-3, sorter.Compare(new TestRow(), new TestRow()));
        }
 public void TestNullsInComparisonReturnOne()
 {
     TestSorter sorter = new TestSorter(3);
     Assert.AreEqual(3, sorter.Compare(new TestRow(), new TestRow()));
     Assert.AreEqual(1, sorter.Compare(null, new TestRow()));
     Assert.AreEqual(1, sorter.Compare(new TestRow(), null));
     Assert.AreEqual(1, sorter.Compare(null, null));
 }
 public void TestDefaultConstructorUsesAscending()
 {
     TestSorter sorter = new TestSorter(3);
     Assert.AreEqual(3, sorter.Compare(new TestRow(), new TestRow()));
 }
 public void TestDirectionConstructorDescending()
 {
     TestSorter sorter = new TestSorter(ListSortDirection.Descending, 3);
     Assert.AreEqual(-3, sorter.Compare(new TestRow(), new TestRow()));
 }