import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; public class VideoStoreTest { private Customer customer; @Before public void setUp() { customer = new Customer("Fred"); } @Test public void testSingleNewReleaseStatement() { customer.addRental(new Rental(new Movie("The Cell", Movie.NEW_RELEASE), 3)); assertEquals("Rental Record for Fred\n\tThe Cell\t9.0\nAmount owed is 9.0\nYou earned 2 frequent renter points\n", customer.statement()); } @Test public void testDualNewReleaseStatement() { customer.addRental(new Rental(new Movie("The Cell", Movie.NEW_RELEASE), 3)); customer.addRental(new Rental(new Movie("The Tigger Movie", Movie.NEW_RELEASE), 3)); assertEquals("Rental Record for Fred\n\tThe Cell\t9.0\n\tThe Tigger Movie\t9.0\nAmount owed is 18.0\nYou earned 4 frequent renter points\n", customer.statement()); } @Test public void testSingleChildrensStatement() { customer.addRental(new Rental(new Movie("The Tigger Movie", Movie.CHILDRENS), 3)); assertEquals("Rental Record for Fred\n\tThe Tigger Movie\t1.5\nAmount owed is 1.5\nYou earned 1 frequent renter points\n", customer.statement()); } @Test public void testMultipleRegularStatement() { customer.addRental(new Rental(new Movie("Plan 9 from Outer Space", Movie.NEW_RELEASE), 1)); customer.addRental(new Rental(new Movie("8 1/2", Movie.NEW_RELEASE), 2)); customer.addRental(new Rental(new Movie("Eraserhead", Movie.NEW_RELEASE), 3)); assertEquals("Rental Record for Fred\n\tPlan 9 from Outer Space\t3.0\n\t8 1/2\t6.0\n\tEraserhead\t9.0\nAmount owed is 18.0\nYou earned 5 frequent renter points\n", customer.statement()); } }