public void Given_ValidCollection_When_CallingDetermineWinner_Then_ReturnsWinner() { var commission = new ElectoralCommission(); Dictionary <string, Party> parties = new Dictionary <string, Party> { { "WASD", new Party("WASD") }, { "QWERTY", new Party("QWERTY") }, { "SPACE", new Party("SPACE") } }; var dave = new Person("Dave", "Wozniak", "12345678901", new DateTime(1998, 3, 11)); var kitty = new Person("Kitty", "Wozniak", "92345678901", new DateTime(2000, 5, 1)); var tom = new Person("Tom", "Wozniak", "82345678901", new DateTime(1980, 7, 12)); var jerry = new Person("Jerry", "Wozniak", "74321678901", new DateTime(1974, 7, 12)); var expected = parties["WASD"]; dave.Vote(parties["WASD"], commission); tom.Vote(parties["QWERTY"], commission); kitty.Vote(parties["WASD"], commission); jerry.Vote(parties["SPACE"], commission); var actual = commission.DetermineWinner(parties); Assert.Equal(expected, actual); }
public void Given_NullCollection_When_CallingDetermineWinner_Then_ThrowsArgumentNullException() { var commission = new ElectoralCommission(); Dictionary <string, Party> parties = null; Assert.Throws <ArgumentNullException>(() => commission.DetermineWinner(parties)); }
public void Given_EmptyCollection_When_CallingDetermineWinner_Then_ReturnsNull() { var commission = new ElectoralCommission(); var parties = new Dictionary <string, Party>(); Party result; result = commission.DetermineWinner(parties); Assert.Null(result); }
public void Given_ValidCollectionWithoutAnyVotes_When_CallingDetermineWinner_Then_ReturnsNull() { var commission = new ElectoralCommission(); Dictionary <string, Party> parties = new Dictionary <string, Party> { { "WASD", new Party("WASD") }, { "QWERTY", new Party("QWERTY") }, { "SPACE", new Party("SPACE") } }; var result = commission.DetermineWinner(parties); Assert.Null(result); }