public void Case2() { var difference = new IHand[] { new DefaultHand(new TheArmy(), 0) }; var next = new IHand[] { new DefaultHand(new TheKing(), 0) }; var previous = next.Concat(difference); var differenceHandName = difference.Select(hand => hand.Name).OrderBy(name => name); var result = HandDifferenceCalculator.Calculate(previous, next); Assert.IsFalse(result.IncreasedDifference.Any()); Assert.IsTrue( result.DecreasedDifference .Select(hand => hand.Name) .OrderBy(name => name) .SequenceEqual(differenceHandName) ); }
public HandDifference GetHandDifference(IEnumerable <IHand> previousHands) { var currentHands = GetCurrentHands(); return(HandDifferenceCalculator.Calculate(previousHands, currentHands)); }
public void ArgumentErrorThrowCheck() { Assert.Throws <ArgumentNullException>(() => HandDifferenceCalculator.Calculate(null, Enumerable.Empty <IHand>())); Assert.Throws <ArgumentNullException>(() => HandDifferenceCalculator.Calculate(Enumerable.Empty <IHand>(), null)); Assert.Throws <ArgumentNullException>(() => HandDifferenceCalculator.Calculate(null, null)); }