-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProblem1Test.java
More file actions
37 lines (28 loc) · 1.05 KB
/
Problem1Test.java
File metadata and controls
37 lines (28 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package yourssu;
import org.junit.jupiter.api.Test;
import yourssu.order.domain.Order;
import yourssu.order.domain.OrderItem;
import yourssu.order.service.OrderAnalyticsService;
import yourssu.user.domain.OrderUser;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.byLessThan;
public class Problem1Test {
@Test
void calculationAverage() {
// given
Order order1 = new Order();
order1.addItem(new OrderItem("A", 1000, 3));
order1.addItem(new OrderItem("B", 2000, 6));
Order order2 = new Order();
order2.addItem(new OrderItem("A", 1000, 3));
order2.addItem(new OrderItem("B", 2000, 6));
OrderUser user = new OrderUser();
user.addOrder(order1);
user.addOrder(order2);
OrderAnalyticsService service = new OrderAnalyticsService();
// when
double averageCost = service.calculateAverageCost(user.getOrders());
// then
assertThat(averageCost).isCloseTo(15000 / 9F, byLessThan(0.0001));
}
}