Skip to content

Commit 1cd3d44

Browse files
committed
테스트 케이스 추가
1 parent 97bf6f1 commit 1cd3d44

3 files changed

Lines changed: 93 additions & 0 deletions

File tree

src/test/java/com/javabom/lotto/domain/ticket/LottoMoneyTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,30 @@ void calculateQuantityPer() {
2727
// then
2828
assertThat(money.calculateQuantityPer(price)).isEqualTo(expectedQuantity);
2929
}
30+
31+
@DisplayName("돈 소비할 때 제대로 남는 돈이 제대로 계산 되는지 확인")
32+
@Test
33+
void spend() {
34+
// given
35+
Money money = new Money(5_000);
36+
Money spendMoney = new Money(2_000);
37+
Money expectedMoney = new Money(3_000);
38+
39+
// then
40+
assertThat(money.spend(spendMoney)).isEqualTo(expectedMoney);
41+
}
42+
43+
@DisplayName("남은 돈 보다 더 많은 돈을 사용할 수는 없음.")
44+
@Test
45+
void validateCanSpendMoney() {
46+
// given
47+
Money bigMoney = new Money(5_000);
48+
Money smallMoney = new Money(3_000);
49+
// then
50+
assertThatThrownBy(() ->smallMoney.spend(bigMoney))
51+
.isInstanceOf(IllegalArgumentException.class)
52+
.hasMessage("현재 값 (3000) 보다 사용하려는 금액 (5000) 이 더 많습니다.");
53+
54+
55+
}
3056
}

src/test/java/com/javabom/lotto/domain/ticket/LottoTicketTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,29 @@ void validateLottoNumbersSize(int size) {
5050
.isInstanceOf(IllegalArgumentException.class)
5151
.hasMessage("로또 티켓에 6개 숫자를 넣어야 합니다. 입력 size : " + size);
5252
}
53+
54+
@DisplayName("로또 번호 매치 수를 잘 구하는지 확인")
55+
@Test
56+
void countMatchingNumbers() {
57+
// given
58+
LottoTicket ticket1 = new LottoTicket(Arrays.asList(
59+
new LottoNumber(1),
60+
new LottoNumber(2),
61+
new LottoNumber(3),
62+
new LottoNumber(4),
63+
new LottoNumber(5),
64+
new LottoNumber(6)
65+
));
66+
LottoTicket ticket2 = new LottoTicket(Arrays.asList(
67+
new LottoNumber(1),
68+
new LottoNumber(2),
69+
new LottoNumber(3),
70+
new LottoNumber(4),
71+
new LottoNumber(7),
72+
new LottoNumber(8)
73+
));
74+
75+
// then
76+
assertThat(ticket1.countMatchingNumbers(ticket2)).isEqualTo(4);
77+
}
5378
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.javabom.lotto.domain.ticket;
2+
3+
import org.junit.jupiter.api.DisplayName;
4+
import org.junit.jupiter.api.Test;
5+
6+
import java.util.Arrays;
7+
8+
import static org.assertj.core.api.Assertions.assertThat;
9+
10+
class LottoTicketsTest {
11+
12+
@DisplayName("두 일급 컬렉션 합치기")
13+
@Test
14+
void add() {
15+
// given
16+
LottoTicket ticket1 = new LottoTicket(Arrays.asList(
17+
new LottoNumber(1),
18+
new LottoNumber(2),
19+
new LottoNumber(3),
20+
new LottoNumber(4),
21+
new LottoNumber(5),
22+
new LottoNumber(6)
23+
));
24+
LottoTicket ticket2 = new LottoTicket(Arrays.asList(
25+
new LottoNumber(1),
26+
new LottoNumber(2),
27+
new LottoNumber(3),
28+
new LottoNumber(4),
29+
new LottoNumber(7),
30+
new LottoNumber(8)
31+
));
32+
LottoTickets lottoTickets1 = new LottoTickets(Arrays.asList(ticket1));
33+
LottoTickets lottoTickets2 = new LottoTickets(Arrays.asList(ticket2));
34+
35+
// when
36+
LottoTickets addedLottoTickets = lottoTickets1.add(lottoTickets2);
37+
38+
// then
39+
assertThat(addedLottoTickets.get()).isEqualTo(Arrays.asList(ticket1, ticket2));
40+
41+
}
42+
}

0 commit comments

Comments
 (0)