File tree Expand file tree Collapse file tree
src/test/java/com/javabom/lotto/domain/ticket Expand file tree Collapse file tree Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments