Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Lev1][미션3] 블랙잭 1단계 - 다즐 #5

Open
wants to merge 80 commits into
base: woo-chang
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
93adb74
docs: 요구사항 명세 작성
kokodak Feb 28, 2023
4d669bd
feat: 이름의 길이 검증 기능 구현
kokodak Feb 28, 2023
ab04caa
feat: 금지된 이름 검증 기능 구현
kokodak Feb 28, 2023
76e478d
docs: 기능 구현 목록 수정
kokodak Mar 2, 2023
c5575b7
feat: 이름 도메인 생성
kokodak Mar 2, 2023
aeb41cc
feat: 문양 도메인 생성
kokodak Mar 2, 2023
660568b
feat: 숫자 도메인 생성
kokodak Mar 2, 2023
5529812
feat: 문양 이름 확인 기능 구현
kokodak Mar 2, 2023
f42b755
feat: 숫자 이름 확인 기능 구현
kokodak Mar 2, 2023
59212a2
feat: 점수 확인 기능 구현
kokodak Mar 2, 2023
365c189
feat: 점수 계산 기능 구현
kokodak Mar 2, 2023
14cb9da
feat: 에이스인지 확인하는 기능 구현
kokodak Mar 2, 2023
d668b8c
feat: 점수 합계 계산 기능 구현
kokodak Mar 2, 2023
07e5c72
feat: 점수 최댓값 초과 여부 확인 기능 구현
kokodak Mar 2, 2023
36dacd5
feat: 이름 확인 기능 구현
kokodak Mar 2, 2023
fe3be1e
feat: 블랙잭 여부 확인 기능 구현
kokodak Mar 2, 2023
bf4991f
fix: 메서드명 수정 및 잘못된 로직 수정
kokodak Mar 2, 2023
ed70701
feat: 카드 추가 여부 확인 기능 구현
kokodak Mar 2, 2023
4c494a0
feat: 카드 추가 기능 구현
kokodak Mar 2, 2023
43b6ec5
chore: 테스트 어노테이션 추가
kokodak Mar 2, 2023
35fd4fc
feat: 카드를 받는 기능 구현
kokodak Mar 2, 2023
d3a6af1
feat: 점수 확인 기능 구현
kokodak Mar 2, 2023
58f1fae
feat: 개수 확인 기능 구현
kokodak Mar 2, 2023
81f907a
feat: 카드 추가 여부 확인 기능 구현
kokodak Mar 2, 2023
96833fd
feat: 점수 확인 기능 구현
kokodak Mar 2, 2023
5138dc4
feat: 카드를 받는 기능 구현
kokodak Mar 2, 2023
4e58c1d
feat: 딜러 도메인 생성
kokodak Mar 2, 2023
e3ae0a0
feat: 참가자 도메인 생성
kokodak Mar 2, 2023
4cdb38c
feat: 딜러와 플레이어가 참가자 상속
kokodak Mar 2, 2023
2370e13
feat: 플레이어의 이름 중복 검증 기능 구현
kokodak Mar 2, 2023
7603a6b
feat: 참가자 인원 검증 기능 구현
kokodak Mar 2, 2023
d4b9c22
refactor: 외부 참조 끊도록 수정
kokodak Mar 2, 2023
f4e414c
feat: 카드를 뽑는 기능 구현
kokodak Mar 2, 2023
559693d
feat: 덱 상태 검증 기능 구현
kokodak Mar 2, 2023
6976a0d
feat: 덱 섞는 기능 구현
kokodak Mar 2, 2023
944cc85
feat: 덱 팩토리 도메인 생성
kokodak Mar 2, 2023
dca7962
chore: 패키지 분리 및 import 최적화
kokodak Mar 2, 2023
ec75c79
feat: 문자열 파싱 기능 구현
kokodak Mar 3, 2023
d27fd5c
feat: 문자열 앞뒤 공백 제거 기능 구현
kokodak Mar 3, 2023
9b81e50
feat: 플레이어 이름 목록 입력 기능 구현
kokodak Mar 3, 2023
6ad67e2
feat: 카드 받을 여부 입력 기능 구현
kokodak Mar 3, 2023
100a9cb
feat: 참가자들의 카드 현황 출력 기능 구현
kokodak Mar 3, 2023
9511cc9
feat: 딜러 카드 추가 여부 출력 기능 구현
kokodak Mar 3, 2023
4e929ad
feat: 최종 결과 출력 기능 구현
kokodak Mar 3, 2023
a7f6e85
feat: 최종 승패 출력 기능 구현
kokodak Mar 3, 2023
c7b4459
feat: 빈 생성자로 생성될 수 있는 기능 구현
kokodak Mar 3, 2023
7de79aa
feat: Cards 도메인에 대한 DTO 생성
kokodak Mar 3, 2023
dfa8280
feat: 딜러 상태에 대한 DTO 생성
kokodak Mar 3, 2023
f3808af
feat: 참가자에 대한 DTO 생성
kokodak Mar 3, 2023
a0c0aa3
feat: 플레이어 결과에 대한 DTO 생성
kokodak Mar 3, 2023
8fe6bf6
feat: 결과에 대한 열거형 도메인 생성
kokodak Mar 3, 2023
e0c208d
feat: 점수에 대한 도메인 생성
kokodak Mar 3, 2023
340f048
feat: 참가자들이 카드를 뽑는 기능 구현
kokodak Mar 3, 2023
53f7d74
feat: 참가자들 중 딜러와 플레이어를 찾는 기능 구현
kokodak Mar 3, 2023
70230b2
feat: 이름으로만 생성될 수 있는 기능 구현
kokodak Mar 3, 2023
0363e8e
feat: 덱에서 카드를 뽑아 참가자들에게 나눠주는 기능 구현
kokodak Mar 3, 2023
bf2e4bf
feat: 블랙잭 게임 실행 기능 구현
kokodak Mar 3, 2023
0ad7a72
fix: 게임 결과 로직 수정
kokodak Mar 3, 2023
6518a49
refactor: TRUMP는 덱이 알도록 수정
woo-chang Mar 3, 2023
24e9e03
refactor: 입력 기능 가독성 위해 메서드명 수정
woo-chang Mar 3, 2023
57cb277
refactor: 축약하지 않은 변수명으로 수정
woo-chang Mar 5, 2023
5f77913
refactor: 딜러가 카드를 추가로 뽑을 수 있는 점수는 딜러가 알도록 수정
woo-chang Mar 5, 2023
f7eb062
refactor: ACE -> Ace 일관성있는 표현으로 수정
woo-chang Mar 5, 2023
90d09d3
refactor: 테스트 목적을 명확히하도록 수정
woo-chang Mar 5, 2023
9bddfc3
refactor: 계층 구조 테스트로 의미를 명확하게 전달하도록 수정
woo-chang Mar 5, 2023
8f294bb
refactor: 자바 컨벤션에 따라 메서드명 수정
woo-chang Mar 5, 2023
ed5db59
refactor: 카드 뽑을 때 검증하도록 수정
woo-chang Mar 5, 2023
0223fca
refactor: NPE 방지 및 변수, 메서드명 수정
woo-chang Mar 5, 2023
7eeedc2
refactor: 참가자에게 딜러 여부에 대한 메시지를 던지도록 수정
woo-chang Mar 5, 2023
1a85ff7
refactor: 거짓 성공을 막기위해 검증부에는 하드코딩 하도록 수정
woo-chang Mar 5, 2023
cf364cf
refactor: TRUMP 생성 시 flatMap 사용 및 덱 생성 시 섞도록 수정
woo-chang Mar 5, 2023
b15c4c2
refactor: 플레이어 이름을 명시하도록 Name -> PlayerName 수정
woo-chang Mar 5, 2023
6506c31
refactor: 참여자 목록 생성 책임을 생성자로 수정
woo-chang Mar 5, 2023
60cd11c
refactor: Deck 생성 책임은 Deck이 가지도록 수정
woo-chang Mar 5, 2023
2458f44
refactor: 블랙잭 게임 컨트롤러 수정
woo-chang Mar 5, 2023
4daf6f8
refactor: 딜러 승패 여부 확인 로직 수정
woo-chang Mar 5, 2023
24f34f1
refactor: 카드 목록에서 사용되지 않는 메서드 제거
woo-chang Mar 6, 2023
be64ca7
refactor: 딜러가 결과 확인하는 로직 수정
woo-chang Mar 6, 2023
601b98d
test: 테스트하지 못했던 코드에 대한 테스트 코드 작성
woo-chang Mar 6, 2023
44bd964
feat: 제네릭 미션 구현
woo-chang Mar 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor: ACE -> Ace 일관성있는 표현으로 수정
woo-chang committed Mar 5, 2023
commit f7eb06282fd62aab0d4d67817474321f6359e25a
8 changes: 4 additions & 4 deletions src/test/java/blackjack/domain/card/CardsTest.java
Original file line number Diff line number Diff line change
@@ -25,14 +25,14 @@
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
class CardsTest {

private static Stream<Arguments> generateCardsWithoutACE() {
private static Stream<Arguments> generateCardsWithoutAce() {
return Stream.of(
Arguments.of(List.of(new Card(TWO, SPADE), new Card(JACK, HEART)), 12),
Arguments.of(List.of(), 0)
);
}

private static Stream<Arguments> generateCardsWithACE() {
private static Stream<Arguments> generateCardsWithAce() {
return Stream.of(
Arguments.of(List.of(new Card(ACE, SPADE), new Card(JACK, HEART)), 21),
Arguments.of(List.of(new Card(ACE, SPADE), new Card(ACE, HEART), new Card(TEN, CLOVER)), 12),
@@ -42,15 +42,15 @@ private static Stream<Arguments> generateCardsWithACE() {
}

@ParameterizedTest
@MethodSource("generateCardsWithoutACE")
@MethodSource("generateCardsWithoutAce")
void 점수를_계산한다(final List<Card> cardPack, final int totalScore) {
final Cards cards = new Cards(cardPack);

assertThat(cards.calculateTotalScore()).isEqualTo(totalScore);
}

@ParameterizedTest
@MethodSource("generateCardsWithACE")
@MethodSource("generateCardsWithAce")
void 에이스가_포함된_경우_최적의_점수를_계산한다(final List<Card> cardPack, final int totalScore) {
final Cards cards = new Cards(cardPack);