public void ComparerThrowsIfSecondaryComparerIsNull() { IComparer <ChainedComparerTestItem> primary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.A); IComparer <ChainedComparerTestItem> secondary = null; Assert.Throws <ArgumentNullException>(() => new ChainedComparer <ChainedComparerTestItem>(primary, secondary)); }
public void ComparerInitialises() { IComparer <ChainedComparerTestItem> primary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.A); IComparer <ChainedComparerTestItem> secondary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.B); var comparer = new ChainedComparer <ChainedComparerTestItem>(primary, secondary); Assert.IsNotNull(comparer); }
public void KeySelectorComparerReturnsZeroWhenFirstItemIsNullAndSecondItemIsNull() { var comparer = new KeySelectorComparer <KeySelectorTestItem, int>(i => i.Id); KeySelectorTestItem first = null; KeySelectorTestItem second = null; var result = comparer.Compare(first, second); Assert.AreEqual(0, result); }
public void KeySelectorComparerRetunsNegativeOneWhenFirstItemIsNullAndSecondItemIsNot() { var comparer = new KeySelectorComparer <KeySelectorTestItem, int>(i => i.Id); KeySelectorTestItem first = null; KeySelectorTestItem second = new KeySelectorTestItem { Id = 1 }; var result = comparer.Compare(first, second); Assert.AreEqual(-1, result); }
public void KeySelectorComparerReturnsZeroWhenFirstKeyIsEqualToSecondKey() { var comparer = new KeySelectorComparer <KeySelectorTestItem, int>(i => i.Id); var first = new KeySelectorTestItem { Id = 1 }; var second = new KeySelectorTestItem { Id = 1 }; var result = comparer.Compare(first, second); Assert.AreEqual(0, result); }
public void KeySelectorComparerReturnsNegativeOneWhenFirstKeyIsLessThanSecondKey() { var comparer = new KeySelectorComparer <KeySelectorTestItem, int>(i => i.Id); var first = new KeySelectorTestItem { Id = 1 }; var second = new KeySelectorTestItem { Id = 2 }; var result = comparer.Compare(first, second); Assert.AreEqual(-1, result); }
public void ComparerReturnsPositiveOneWhenFirstItemIsGreaterThanSecondItemOnSecondaryComparer() { IComparer <ChainedComparerTestItem> primary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.A); IComparer <ChainedComparerTestItem> secondary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.B); var comparer = new ChainedComparer <ChainedComparerTestItem>(primary, secondary); var first = new ChainedComparerTestItem { A = 1, B = 2 }; var second = new ChainedComparerTestItem { A = 1, B = 1 }; int result = comparer.Compare(first, second); Assert.AreEqual(1, result); }
public void ComparerReturnsZeroWhenFirstItemIsEqualToSecondItemOnBothPrimaryAndSecondaryComparers() { IComparer <ChainedComparerTestItem> primary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.A); IComparer <ChainedComparerTestItem> secondary = new KeySelectorComparer <ChainedComparerTestItem, int>(i => i.B); var comparer = new ChainedComparer <ChainedComparerTestItem>(primary, secondary); var first = new ChainedComparerTestItem { A = 1, B = 1 }; var second = new ChainedComparerTestItem { A = 1, B = 1 }; int result = comparer.Compare(first, second); Assert.AreEqual(0, result); }
public void KeySelectorComparerInitialises() { var comparer = new KeySelectorComparer <KeySelectorTestItem, int>(i => i.Id); Assert.IsNotNull(comparer); }