@Test public void aNewTicketShouldHaveTheTurnNumberSubsequentToThePreviousTicket() throws Exception { // Arrange TicketDispenser ticketDispenser = new TicketDispenser(); TurnTicket previousTicket = ticketDispenser.getTurnTicket(); // Act TurnTicket newTicket = ticketDispenser.getTurnTicket(); // Assert Assert.assertEquals(1, (newTicket.getTurnNumber() - previousTicket.getTurnNumber())); }
@Test public void theNumberSequenceOfTheRegularCustomersStartsFrom2001() throws Exception { // Arrange TurnNumberSequence regularTurnNumberSequence = new TurnNumberSequence(TurnNumberSequence.REGULAR_CUSTOMER_FIRST_NUMBER); TicketDispenser regularCustomerTicketDispenser = new TicketDispenser(regularTurnNumberSequence); // Act TurnTicket ticket = regularCustomerTicketDispenser.getTurnTicket(); // Assert Assert.assertEquals(TurnNumberSequence.REGULAR_CUSTOMER_FIRST_NUMBER, ticket.getTurnNumber()); }
@Test public void theNumberSequenceOfTheVipCustomersStartsFrom1001() throws Exception { // Arrange TurnNumberSequence vipCustomerTurnNumberSequence = new TurnNumberSequence(TurnNumberSequence.VIP_CUSTOMER_FIRST_NUMBER); TicketDispenser vipCustomerTicketDispenser = new TicketDispenser(vipCustomerTurnNumberSequence); // Act TurnTicket ticket = vipCustomerTicketDispenser.getTurnTicket(); // Assert Assert.assertEquals(TurnNumberSequence.VIP_CUSTOMER_FIRST_NUMBER, ticket.getTurnNumber()); }
@Test public void theTicketDispenserShouldDispenseTheTicketNumber11IfGiveATurnNumber11ToIt() throws Exception { // Arrange MockTurnNumberSequence mockTurnNumberSequence = new MockTurnNumberSequence(); mockTurnNumberSequence.arrangeNextTurnNumber(11); TicketDispenser ticketDispenser = new TicketDispenser(mockTurnNumberSequence); // Act TurnTicket ticket = ticketDispenser.getTurnTicket(); // Assert Assert.assertEquals(11, ticket.getTurnNumber()); mockTurnNumberSequence.verifyMethodGetNextTurnNumberCalledOne(); }