You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CustomerTest.java 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. import org.junit.Before;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class CustomerTest {
  5. Customer customer;
  6. @Before
  7. public void setUp() throws Exception {
  8. customer = new Customer("customer A");
  9. }
  10. @Test
  11. public void test_statement_no_rentals() {
  12. String expected_text = "Rental Record for customer A\n" +
  13. "Amount owed is 0.0\n" +
  14. "You earned 0 frequent renter points";
  15. String invoice_text = customer.statement();
  16. assertEquals(expected_text, invoice_text);
  17. System.out.println("test_statement_no_rentals");
  18. System.out.println(invoice_text);
  19. }
  20. @Test
  21. public void test_statement_one_regular_two_days() {
  22. String expected_text = "Rental Record for customer A\n" +
  23. "\tregular_movie\t days rented: 2 = 2.0\n" +
  24. "Amount owed is 2.0\n" +
  25. "You earned 1 frequent renter points";
  26. Movie regular_movie = new Movie ("regular_movie", Movie.REGULAR );
  27. Rental rental = new Rental(regular_movie, 2);
  28. customer.addRental(rental);
  29. String invoice_text = customer.statement();
  30. assertEquals(expected_text, invoice_text);
  31. System.out.println("test_statement_no_rentals");
  32. System.out.println(invoice_text);
  33. }
  34. @Test
  35. public void test_statement_one_regular_three_days() {
  36. String expected_text = "Rental Record for customer A\n" +
  37. "\tregular_movie\t days rented: 3 = 3.5\n" +
  38. "Amount owed is 3.5\n" +
  39. "You earned 1 frequent renter points";
  40. Movie regular_movie = new Movie ("regular_movie", Movie.REGULAR );
  41. Rental rental = new Rental(regular_movie, 3);
  42. customer.addRental(rental);
  43. String invoice_text = customer.statement();
  44. assertEquals(expected_text, invoice_text);
  45. System.out.println("test_statement_no_rentals");
  46. System.out.println(invoice_text);
  47. }
  48. @Test
  49. public void test_statement_one_childrens_two_days() {
  50. String expected_text = "Rental Record for customer A\n" +
  51. "\tchildrens_movie\t days rented: 2 = 1.5\n" +
  52. "Amount owed is 1.5\n" +
  53. "You earned 1 frequent renter points";
  54. Movie childrens_movie = new Movie ("childrens_movie", Movie.CHILDRENS );
  55. Rental rental = new Rental(childrens_movie, 2);
  56. customer.addRental(rental);
  57. String invoice_text = customer.statement();
  58. assertEquals(expected_text, invoice_text);
  59. System.out.println("test_statement_no_rentals");
  60. System.out.println(invoice_text);
  61. }
  62. @Test
  63. public void test_statement_one_new_release_two_days() {
  64. String expected_text = "Rental Record for customer A\n" +
  65. "\tnew_release_movie\t days rented: 2 = 6.0\n" +
  66. "Amount owed is 6.0\n" +
  67. "You earned 2 frequent renter points";
  68. Movie new_release_movie = new Movie ("new_release_movie", Movie.NEW_RELEASE );
  69. Rental rental = new Rental(new_release_movie, 2);
  70. customer.addRental(rental);
  71. String invoice_text = customer.statement();
  72. assertEquals(expected_text, invoice_text);
  73. System.out.println("test_statement_no_rentals");
  74. System.out.println(invoice_text);
  75. }
  76. @Test
  77. public void test_statement_with_all_kinds_of_movies_one_and_four_days() {
  78. String expected_text = "Rental Record for customer A\n" +
  79. "\tregular_movie_1\t days rented: 1 = 2.0\n" +
  80. "\tregular_movie_2\t days rented: 4 = 5.0\n" +
  81. "\tchildrens_movie_1\t days rented: 1 = 1.5\n" +
  82. "\tchildrens_movie_2\t days rented: 4 = 3.0\n" +
  83. "\tnew_release_movie_1\t days rented: 1 = 3.0\n" +
  84. "\tnew_release_movie_2\t days rented: 4 = 12.0\n" +
  85. "Amount owed is 26.5\n" +
  86. "You earned 7 frequent renter points";
  87. Movie regular_movie_1 = new Movie ("regular_movie_1", Movie.REGULAR );
  88. Rental rental_1 = new Rental(regular_movie_1, 1);
  89. customer.addRental(rental_1);
  90. Movie regular_movie_2 = new Movie ("regular_movie_2", Movie.REGULAR );
  91. Rental rental_2 = new Rental(regular_movie_2, 4);
  92. customer.addRental(rental_2);
  93. Movie childrens_movie_1 = new Movie ("childrens_movie_1", Movie.CHILDRENS );
  94. Rental rental_3 = new Rental(childrens_movie_1, 1);
  95. customer.addRental(rental_3);
  96. Movie childrens_movie_2 = new Movie ("childrens_movie_2", Movie.CHILDRENS );
  97. Rental rental_4 = new Rental(childrens_movie_2, 4);
  98. customer.addRental(rental_4);
  99. Movie new_release_movie_1 = new Movie ("new_release_movie_1", Movie.NEW_RELEASE );
  100. Rental rental_5 = new Rental(new_release_movie_1, 1);
  101. customer.addRental(rental_5);
  102. Movie new_release_movie_2 = new Movie ("new_release_movie_2", Movie.NEW_RELEASE );
  103. Rental rental_6 = new Rental(new_release_movie_2, 4);
  104. customer.addRental(rental_6);
  105. String invoice_text = customer.statement();
  106. assertEquals(expected_text, invoice_text);
  107. System.out.println("test_statement_no_rentals");
  108. System.out.println(invoice_text);
  109. }
  110. /*
  111. @Test
  112. public void test_htmlStatement() {
  113. String expected_text =
  114. "Rentals for Customer_A\n" +
  115. "\n" +
  116. "Regular_Movie_1 : 2.0\n" +
  117. "Regular_Movie_2 : 3.5\n" +
  118. "Children_Movie_1 : 1.5\n" +
  119. "Children_Movie_2 : 3.0\n" +
  120. "NewRelease_Movie_1 : 9.0\n" +
  121. "NewRelease_Movie_2 : 12.0\n" +
  122. "\n" +
  123. "Amount owed is 31.0\n" +
  124. "\n" +
  125. "On this rental you earned 8 frequent renter points";
  126. Movie regular_movie_1 = new Movie ("regular_movie_1", Movie.REGULAR );
  127. Rental rental_1 = new Rental(regular_movie_1, 1);
  128. customer.addRental(rental_1);
  129. Movie regular_movie_2 = new Movie ("regular_movie_2", Movie.REGULAR );
  130. Rental rental_2 = new Rental(regular_movie_2, 3);
  131. customer.addRental(rental_2);
  132. Movie childrens_movie_1 = new Movie ("childrens_movie_1", Movie.CHILDRENS );
  133. Rental rental_3 = new Rental(childrens_movie_1, 1);
  134. customer.addRental(rental_3);
  135. Movie childrens_movie_2 = new Movie ("childrens_movie_2", Movie.CHILDRENS );
  136. Rental rental_4 = new Rental(childrens_movie_2, 4);
  137. customer.addRental(rental_4);
  138. Movie new_release_movie_1 = new Movie ("new_release_movie_1", Movie.NEW_RELEASE );
  139. Rental rental_5 = new Rental(new_release_movie_1, 3);
  140. customer.addRental(rental_5);
  141. Movie new_release_movie_2 = new Movie ("new_release_movie_2", Movie.NEW_RELEASE );
  142. Rental rental_6 = new Rental(new_release_movie_2, 4);
  143. customer.addRental(rental_6);
  144. String invoice_text = customer.statement();
  145. assertEquals(expected_text, invoice_text);
  146. System.out.println("test_statement_no_rentals");
  147. System.out.println(invoice_text);
  148. }
  149. */
  150. }