From 94b267328e2ab3ce0a6084c13cd855e25840d508 Mon Sep 17 00:00:00 2001 From: Thomas Clavier Date: Thu, 8 Mar 2018 14:42:36 +0100 Subject: [PATCH] With uniq test like book --- src/main/java/movierental/Customer.java | 3 +- .../java/movierental/CustomerBuilder.java | 30 ----- src/test/java/movierental/CustomerTest.java | 116 ++++-------------- 3 files changed, 24 insertions(+), 125 deletions(-) delete mode 100644 src/test/java/movierental/CustomerBuilder.java diff --git a/src/main/java/movierental/Customer.java b/src/main/java/movierental/Customer.java index 6d9b9ea..a38d677 100644 --- a/src/main/java/movierental/Customer.java +++ b/src/main/java/movierental/Customer.java @@ -1,4 +1,5 @@ package movierental; + import java.util.ArrayList; import java.util.List; @@ -24,7 +25,7 @@ public class Customer { int frequentRenterPoints = 0; String result = "Rental Record for " + getName() + "\n"; - for (Rental each: _rentals) { + for (Rental each : _rentals) { double thisAmount = 0; //determine amounts for each line diff --git a/src/test/java/movierental/CustomerBuilder.java b/src/test/java/movierental/CustomerBuilder.java deleted file mode 100644 index 91991b2..0000000 --- a/src/test/java/movierental/CustomerBuilder.java +++ /dev/null @@ -1,30 +0,0 @@ -package movierental; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class CustomerBuilder { - - public static final String NAME = "Gregoire"; - private String name = NAME; - private List rentals = new ArrayList(); - - public Customer build() { - Customer result = new Customer(name); - for (Rental rental : rentals) { - result.addRental(rental); - } - return result; - } - - public CustomerBuilder withName(String name) { - this.name = name; - return this; - } - - public CustomerBuilder withRentals(Rental... rentals) { - Collections.addAll(this.rentals, rentals); - return this; - } -} diff --git a/src/test/java/movierental/CustomerTest.java b/src/test/java/movierental/CustomerTest.java index a16d715..8d3ec8a 100644 --- a/src/test/java/movierental/CustomerTest.java +++ b/src/test/java/movierental/CustomerTest.java @@ -7,98 +7,26 @@ import org.junit.Test; public class CustomerTest { @Test - public void testCustomer() { - Customer c = new CustomerBuilder().build(); - assertNotNull(c); + public void test() { + Customer customer = new Customer("Bob"); + customer.addRental(new Rental(new Movie("Jaws", Movie.REGULAR), 2)); + customer.addRental(new Rental(new Movie("Golden Eye", Movie.REGULAR), 3)); + customer.addRental(new Rental(new Movie("Short New", Movie.NEW_RELEASE), 1)); + customer.addRental(new Rental(new Movie("Long New", Movie.NEW_RELEASE), 2)); + customer.addRental(new Rental(new Movie("Bambi", Movie.CHILDRENS), 3)); + customer.addRental(new Rental(new Movie("Toy Story", Movie.CHILDRENS), 4)); + + String expected = "" + + "Rental Record for Bob\n" + + "\tJaws\t2.0\n" + + "\tGolden Eye\t3.5\n" + + "\tShort New\t3.0\n" + + "\tLong New\t6.0\n" + + "\tBambi\t1.5\n" + + "\tToy Story\t3.0\n" + + "Amount owed is 19.0\n" + + "You earned 7 frequent renter points"; + + assertEquals(expected, customer.statement()); } - - @Test - public void testAddRental() { - Customer customer2 = new CustomerBuilder().withName("Sallie").build(); - Movie movie1 = new Movie("Gone with the Wind", Movie.REGULAR); - Rental rental1 = new Rental(movie1, 3); // 3 day rental - customer2.addRental(rental1); - } - - @Test - public void testGetName() { - Customer c = new Customer("David"); - assertEquals("David", c.getName()); - } - - @Test - public void statementForRegularMovie() { - Movie movie1 = new Movie("Gone with the Wind", Movie.REGULAR); - Rental rental1 = new Rental(movie1, 3); // 3 day rental - Customer customer2 = - new CustomerBuilder() - .withName("Sallie") - .withRentals(rental1) - .build(); - String expected = "Rental Record for Sallie\n" + - "\tGone with the Wind\t3.5\n" + - "Amount owed is 3.5\n" + - "You earned 1 frequent renter points"; - String statement = customer2.statement(); - assertEquals(expected, statement); - } - - @Test - public void statementForNewReleaseMovie() { - Movie movie1 = new Movie("Star Wars", Movie.NEW_RELEASE); - Rental rental1 = new Rental(movie1, 3); // 3 day rental - Customer customer2 = - new CustomerBuilder() - .withName("Sallie") - .withRentals(rental1) - .build(); - String expected = "Rental Record for Sallie\n" + - "\tStar Wars\t9.0\n" + - "Amount owed is 9.0\n" + - "You earned 2 frequent renter points"; - String statement = customer2.statement(); - assertEquals(expected, statement); - } - - @Test - public void statementForChildrensMovie() { - Movie movie1 = new Movie("Madagascar", Movie.CHILDRENS); - Rental rental1 = new Rental(movie1, 3); // 3 day rental - Customer customer2 - = new CustomerBuilder() - .withName("Sallie") - .withRentals(rental1) - .build(); - String expected = "Rental Record for Sallie\n" + - "\tMadagascar\t1.5\n" + - "Amount owed is 1.5\n" + - "You earned 1 frequent renter points"; - String statement = customer2.statement(); - assertEquals(expected, statement); - } - - @Test - public void statementForManyMovies() { - Movie movie1 = new Movie("Madagascar", Movie.CHILDRENS); - Rental rental1 = new Rental(movie1, 6); // 6 day rental - Movie movie2 = new Movie("Star Wars", Movie.NEW_RELEASE); - Rental rental2 = new Rental(movie2, 2); // 2 day rental - Movie movie3 = new Movie("Gone with the Wind", Movie.REGULAR); - Rental rental3 = new Rental(movie3, 8); // 8 day rental - Customer customer1 - = new CustomerBuilder() - .withName("David") - .withRentals(rental1, rental2, rental3) - .build(); - String expected = "Rental Record for David\n" + - "\tMadagascar\t6.0\n" + - "\tStar Wars\t6.0\n" + - "\tGone with the Wind\t11.0\n" + - "Amount owed is 23.0\n" + - "You earned 4 frequent renter points"; - String statement = customer1.statement(); - assertEquals(expected, statement); - } - - //TODO make test for price breaks in code. -} +} \ No newline at end of file