public void Removed_PlayerIdentity_is_identified() { var playerOne = new PlayerIdentity { PlayerIdentityName = "Player one" }; var playerTwo = new PlayerIdentity { PlayerIdentityName = "Player two" }; var playerThree = new PlayerIdentity { PlayerIdentityName = "Player three" }; var firstOverBefore = new Over { OverNumber = 1, Bowler = playerOne, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var firstOverAfter = new Over { OverNumber = 1, Bowler = playerOne, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOverBefore = new Over { OverNumber = 2, Bowler = playerTwo, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOverAfter = new Over { OverNumber = 2, Bowler = playerThree, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var comparer = new BowlingScorecardComparer(); var result = comparer.CompareScorecards(new List <Over> { firstOverBefore, secondOverBefore }, new List <Over> { firstOverAfter, secondOverAfter }); Assert.Single(result.PlayerIdentitiesRemoved); Assert.Contains(playerTwo.PlayerIdentityName, result.PlayerIdentitiesRemoved); }
public void Unchanged_over_is_identified_by_over_number_and_all_fields() { var firstOverBefore = new Over { OverNumber = 1, Bowler = new PlayerIdentity { PlayerIdentityName = "Player one" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var firstOverAfter = new Over { OverNumber = 1, Bowler = new PlayerIdentity { PlayerIdentityName = "Player one" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOverBefore = new Over { OverNumber = 2, Bowler = new PlayerIdentity { PlayerIdentityName = "Player two" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOverAfter = new Over { OverNumber = 2, Bowler = new PlayerIdentity { PlayerIdentityName = "Player two" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var comparer = new BowlingScorecardComparer(); var result = comparer.CompareScorecards(new List <Over> { firstOverBefore, secondOverBefore }, new List <Over> { firstOverAfter, secondOverAfter }); Assert.Equal(2, result.OversUnchanged.Count); }
public void Changed_over_is_identified_from_changed_RunsConceded_for_over_number() { var playerOne = new PlayerIdentity { PlayerIdentityName = "Player one" }; var playerTwo = new PlayerIdentity { PlayerIdentityName = "Player two" }; var firstOverBefore = new Over { OverNumber = 1, Bowler = playerOne, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var firstOverAfter = new Over { OverNumber = 1, Bowler = playerOne, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOverBefore = new Over { OverNumber = 2, Bowler = playerTwo, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOverAfter = new Over { OverNumber = 2, Bowler = playerTwo, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 12 }; var comparer = new BowlingScorecardComparer(); var result = comparer.CompareScorecards(new List <Over> { firstOverBefore, secondOverBefore }, new List <Over> { firstOverAfter, secondOverAfter }); Assert.Single(result.OversChanged); Assert.Contains((secondOverBefore, secondOverAfter), result.OversChanged); }
public void Over_number_zero_in_after_overs_throws_ArgumentException() { var comparer = new BowlingScorecardComparer(); var firstOver = new Over { OverNumber = 0, Bowler = new PlayerIdentity { PlayerIdentityName = "Player one" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; Assert.Throws <ArgumentException>(() => comparer.CompareScorecards(new List <Over>(), new List <Over> { firstOver })); }
public void Duplicate_over_number_in_before_overs_throws_ArgumentException() { var comparer = new BowlingScorecardComparer(); var firstOver = new Over { OverNumber = 1, Bowler = new PlayerIdentity { PlayerIdentityName = "Player one" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var firstOverDuplicate = new Over { OverNumber = 1, Bowler = new PlayerIdentity { PlayerIdentityName = "Player two" }, BallsBowled = 10, NoBalls = 2, Wides = 2, RunsConceded = 12 }; Assert.Throws <ArgumentException>(() => comparer.CompareScorecards(new List <Over> { firstOver, firstOverDuplicate }, new List <Over>())); }
public void Added_over_is_identified_by_over_number() { var firstOver = new Over { OverNumber = 1, Bowler = new PlayerIdentity { PlayerIdentityName = "Player one" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var secondOver = new Over { OverNumber = 2, Bowler = new PlayerIdentity { PlayerIdentityName = "Player one" }, BallsBowled = 8, NoBalls = 0, Wides = 0, RunsConceded = 10 }; var comparer = new BowlingScorecardComparer(); var result = comparer.CompareScorecards(new List <Over> { firstOver }, new List <Over> { firstOver, secondOver }); Assert.Single(result.OversAdded); Assert.Contains(secondOver, result.OversAdded); }
public void Null_after_overs_throws_ArgumentNullException() { var comparer = new BowlingScorecardComparer(); Assert.Throws <ArgumentNullException>(() => comparer.CompareScorecards(new List <Over>(), null)); }