2025-02-04 10:03:39 +01:00
|
|
|
package movierental;
|
|
|
|
|
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
|
2025-02-04 10:51:36 +01:00
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
|
|
import static org.mockito.Mockito.when;
|
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
2025-02-04 10:03:39 +01:00
|
|
|
|
|
|
|
|
public class CustomerTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void test() {
|
2025-02-04 10:35:05 +01:00
|
|
|
// Given
|
2025-02-04 10:03:39 +01:00
|
|
|
Customer customer = new Customer("Bob");
|
2025-02-04 10:51:36 +01:00
|
|
|
Movie mockMovie = mock(Movie.class);
|
|
|
|
|
|
|
|
|
|
when(mockMovie.getTitle()).thenReturn("Mock Movie");
|
|
|
|
|
when(mockMovie.getPriceCode()).thenReturn(Movie.REGULAR);
|
|
|
|
|
customer.addRental(new Rental(mockMovie, 2));
|
2025-02-04 10:03:39 +01:00
|
|
|
|
2025-02-04 10:35:05 +01:00
|
|
|
// When
|
|
|
|
|
String statement = customer.statement();
|
|
|
|
|
|
|
|
|
|
// Then
|
2025-02-04 10:03:39 +01:00
|
|
|
String expected = "" +
|
|
|
|
|
"Rental Record for Bob\n" +
|
2025-02-04 10:51:36 +01:00
|
|
|
"\tMock Movie\t2.0\n" +
|
|
|
|
|
"Amount owed is 2.0\n" +
|
|
|
|
|
"You earned 1 frequent renter points";
|
|
|
|
|
|
|
|
|
|
assertThat(statement).isEqualTo(expected);
|
2025-02-04 10:03:39 +01:00
|
|
|
}
|
|
|
|
|
}
|