From bb2a2c4777ce0c26840770ec5a6f0302ec8c6192 Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 16:29:52 +0900 Subject: [PATCH 01/10] test --- src/test/java/study/StringTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java index 43e47d90b..703701b36 100644 --- a/src/test/java/study/StringTest.java +++ b/src/test/java/study/StringTest.java @@ -9,5 +9,6 @@ public class StringTest { void replace() { String actual = "abc".replace("b", "d"); assertThat(actual).isEqualTo("adc"); + int a; } } From 990b9cb53afe1492c6a2e9d0174b3a68b707cafc Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 16:35:24 +0900 Subject: [PATCH 02/10] =?UTF-8?q?=EC=9D=B4=EA=B2=8C=20=EB=9C=AC=EB=8B=A4?= =?UTF-8?q?=EB=A9=B4=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/study/StringTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java index 703701b36..ba66e5cac 100644 --- a/src/test/java/study/StringTest.java +++ b/src/test/java/study/StringTest.java @@ -10,5 +10,7 @@ void replace() { String actual = "abc".replace("b", "d"); assertThat(actual).isEqualTo("adc"); int a; + int b; + int c; } } From a7dc7a4a0728792b9fed5f5fee25a09092463678 Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 17:50:18 +0900 Subject: [PATCH 03/10] =?UTF-8?q?readme.md=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++++++++ src/test/java/study/StringTest.java | 4 +--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8fe711203..dbb2fe364 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ 3. Git 브랜치를 master 또는 main으로 변경한 후 피드백을 반영하기 위한 새로운 브랜치를 생성한 후 처음부터 다시 미션 구현을 도전한다. ``` + git branch -a // 모든 로컬 브랜치 확인 git checkout master // 기본 브랜치가 master인 경우 git checkout main // 기본 브랜치가 main인 경우 @@ -24,3 +25,15 @@ git checkout main // 기본 브랜치가 main인 경우 git checkout -b 브랜치이름 ex) git checkout -b apply-feedback ``` +4.구현할 기능 목록 +1~9까지의 서로 다른 3자리 맞추는거 + +~~게임 시작 +1. 게임이 시작되면 컴퓨터가 1~9까지의 수 중 중복없는 3자리 수를 랜덤으로 생성 +2. "숫자를 입력해 주세요 : " 라는 문구와 함께 사용자로부터 입력 받기 +3. 사용자가 유효하지 않은 수를 입력했을시 예외처리 +4. 사용자가 입력한 수와 컴퓨터의 수를 비교하여 스트라이크, 볼 계산 +5. 2~4번을 반복문으로 돌리고, 만약 정답이라면 게임종료 문구를 출력, 아니라면 계속 진행 +6. 게임 종료 후 게임을 다시 시작하냐는 문구 출력, 사용자 입력 받음 +7. 사용자 입력에 따라 다시 시작 / 게임 종료 / +8. 사용자가 유효하지 않은 숫자 입력 시 예외처리 diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java index ba66e5cac..c154a55e7 100644 --- a/src/test/java/study/StringTest.java +++ b/src/test/java/study/StringTest.java @@ -9,8 +9,6 @@ public class StringTest { void replace() { String actual = "abc".replace("b", "d"); assertThat(actual).isEqualTo("adc"); - int a; - int b; - int c; + } } From 90ee91776418a55f47809e7f98d75a4a47a72f74 Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 18:32:47 +0900 Subject: [PATCH 04/10] =?UTF-8?q?ComputerNum=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baseballgame/Application.java | 12 ++++++++++++ src/main/java/baseballgame/ComputerNum.java | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/main/java/baseballgame/Application.java create mode 100644 src/main/java/baseballgame/ComputerNum.java diff --git a/src/main/java/baseballgame/Application.java b/src/main/java/baseballgame/Application.java new file mode 100644 index 000000000..3645817aa --- /dev/null +++ b/src/main/java/baseballgame/Application.java @@ -0,0 +1,12 @@ +package baseballgame; + +import java.util.List; +public class Application { + public static void main(String[] args) { + ComputerNum computer = new ComputerNum(); + + List com_num = computer.ComputerNumber(); + + System.out.println(com_num); + } +} diff --git a/src/main/java/baseballgame/ComputerNum.java b/src/main/java/baseballgame/ComputerNum.java new file mode 100644 index 000000000..236755108 --- /dev/null +++ b/src/main/java/baseballgame/ComputerNum.java @@ -0,0 +1,21 @@ +package baseballgame; + + +import java.util.Random; +import java.util.ArrayList; +import java.util.List; + +public class ComputerNum { + Random random = new Random(); + public List ComputerNumber(){ + + List com_num = new ArrayList<>(); // Create list contains answer + while (com_num.size() < 3) { + int randNum = random.nextInt(10); + if (!com_num.contains(randNum)) { + com_num.add(randNum); + } + } + return com_num; + } +} From 88ef58b30bf73b5b1f8ed50fd7542cc3b7bbbfed Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 19:10:49 +0900 Subject: [PATCH 05/10] =?UTF-8?q?playgame.java=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baseballgame/Application.java | 5 +++++ src/main/java/baseballgame/playgame.java | 25 +++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/java/baseballgame/playgame.java diff --git a/src/main/java/baseballgame/Application.java b/src/main/java/baseballgame/Application.java index 3645817aa..2c997309c 100644 --- a/src/main/java/baseballgame/Application.java +++ b/src/main/java/baseballgame/Application.java @@ -4,9 +4,14 @@ public class Application { public static void main(String[] args) { ComputerNum computer = new ComputerNum(); + playgame game = new playgame(); List com_num = computer.ComputerNumber(); + List player_num = game.player_num(); + System.out.println(com_num); + System.out.println(player_num); + } } diff --git a/src/main/java/baseballgame/playgame.java b/src/main/java/baseballgame/playgame.java new file mode 100644 index 000000000..9af93ec5d --- /dev/null +++ b/src/main/java/baseballgame/playgame.java @@ -0,0 +1,25 @@ +package baseballgame; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +public class playgame { + Scanner scanner = new Scanner(System.in); + public List player_num() { + + System.out.println("Enter Number : "); + List player_num = new ArrayList<>(); + String input = String.valueOf(scanner.nextInt()); + + for(int i=0; i Date: Sun, 5 May 2024 21:02:41 +0900 Subject: [PATCH 06/10] =?UTF-8?q?=EC=97=90=EB=9F=AC=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84,=20=EA=B7=BC=EB=8D=B0=20=EC=97=90=EB=9F=AC?= =?UTF-8?q?=20=EB=B0=9C=EC=83=9D=20->=20=EC=B0=A8=ED=9B=84=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=ED=95=84=EC=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baseballgame/Application.java | 2 +- src/main/java/baseballgame/playgame.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/baseballgame/Application.java b/src/main/java/baseballgame/Application.java index 2c997309c..278ce18d0 100644 --- a/src/main/java/baseballgame/Application.java +++ b/src/main/java/baseballgame/Application.java @@ -2,7 +2,7 @@ import java.util.List; public class Application { - public static void main(String[] args) { + public static void main(String[] args) throws IllegalArgumentException{ ComputerNum computer = new ComputerNum(); playgame game = new playgame(); diff --git a/src/main/java/baseballgame/playgame.java b/src/main/java/baseballgame/playgame.java index 9af93ec5d..59e302e39 100644 --- a/src/main/java/baseballgame/playgame.java +++ b/src/main/java/baseballgame/playgame.java @@ -18,8 +18,14 @@ public List player_num() { player_num.add(Integer.parseInt(String.valueOf(digit))); } } - scanner.close(); + +// Length_exception(player_num.toString()); return player_num; } + public void Length_exception(String s){ + if(s.length() != 3) { + throw new IllegalArgumentException("Not a three digit number"); + } + } } From 3753c6ddc1b18816ffd217b33f0ceb0ca73e48ae Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 21:31:27 +0900 Subject: [PATCH 07/10] =?UTF-8?q?Compare.java=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baseballgame/Application.java | 7 +++++ src/main/java/baseballgame/Compare.java | 35 +++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/main/java/baseballgame/Compare.java diff --git a/src/main/java/baseballgame/Application.java b/src/main/java/baseballgame/Application.java index 278ce18d0..f4c82746f 100644 --- a/src/main/java/baseballgame/Application.java +++ b/src/main/java/baseballgame/Application.java @@ -5,11 +5,18 @@ public class Application { public static void main(String[] args) throws IllegalArgumentException{ ComputerNum computer = new ComputerNum(); playgame game = new playgame(); + Compare compare = new Compare(); List com_num = computer.ComputerNumber(); List player_num = game.player_num(); + String result = ""; + result = compare.Compare_num(com_num, player_num); + System.out.println(result); + + + System.out.println(com_num); System.out.println(player_num); diff --git a/src/main/java/baseballgame/Compare.java b/src/main/java/baseballgame/Compare.java new file mode 100644 index 000000000..d008e1ecf --- /dev/null +++ b/src/main/java/baseballgame/Compare.java @@ -0,0 +1,35 @@ +package baseballgame; + +import java.util.List; + +public class Compare { + public int ballcount(List computer, List player) { + int ball = 0; + + for(int i = 0; i < player.size(); i++) { + if(computer.contains(player.get(i))) { + ball++; + } + } + return ball; + } + + public int Strikecount(List computer, List player) { + int strike = 0; + + for(int i = 0; i < player.size(); i++) { + if(computer.get(i) == player.get(i)) { + strike++; + } + } + return strike; + } + + public String Compare_num(List computer, List player) { + int ball = ballcount(computer, player); + int strike = Strikecount(computer, player); + + if(ball+strike == 0) return "nothing"; + return ball + "ball " + strike + "strike"; + } +} From f57997e2d3908becb7b063f980a32f1d3f603708 Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Sun, 5 May 2024 22:35:35 +0900 Subject: [PATCH 08/10] =?UTF-8?q?regame=20=EA=B5=AC=ED=98=84,=20Compare.ja?= =?UTF-8?q?va=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baseballgame/Application.java | 19 ++++++++++++------- src/main/java/baseballgame/Compare.java | 17 ++++++++++------- src/main/java/baseballgame/Regame.java | 21 +++++++++++++++++++++ src/main/java/baseballgame/playgame.java | 2 +- 4 files changed, 44 insertions(+), 15 deletions(-) create mode 100644 src/main/java/baseballgame/Regame.java diff --git a/src/main/java/baseballgame/Application.java b/src/main/java/baseballgame/Application.java index f4c82746f..06c04ab70 100644 --- a/src/main/java/baseballgame/Application.java +++ b/src/main/java/baseballgame/Application.java @@ -6,19 +6,24 @@ public static void main(String[] args) throws IllegalArgumentException{ ComputerNum computer = new ComputerNum(); playgame game = new playgame(); Compare compare = new Compare(); + Regame regame = new Regame(); - List com_num = computer.ComputerNumber(); - List player_num = game.player_num(); + boolean again = true; + while(again) { + List com_num = computer.ComputerNumber(); + System.out.println(com_num); - String result = ""; - result = compare.Compare_num(com_num, player_num); - System.out.println(result); + String result = ""; + while(!result.equals("3strike")) { + result = compare.Compare_num(com_num, game.player_num()); + System.out.println(result); + } + again = regame.restart(); + } - System.out.println(com_num); - System.out.println(player_num); } } diff --git a/src/main/java/baseballgame/Compare.java b/src/main/java/baseballgame/Compare.java index d008e1ecf..bc49541ac 100644 --- a/src/main/java/baseballgame/Compare.java +++ b/src/main/java/baseballgame/Compare.java @@ -3,15 +3,15 @@ import java.util.List; public class Compare { - public int ballcount(List computer, List player) { - int ball = 0; + public int count(List computer, List player) { + int count = 0; for(int i = 0; i < player.size(); i++) { if(computer.contains(player.get(i))) { - ball++; + count++; } } - return ball; + return count; } public int Strikecount(List computer, List player) { @@ -26,10 +26,13 @@ public int Strikecount(List computer, List player) { } public String Compare_num(List computer, List player) { - int ball = ballcount(computer, player); + int count = count(computer, player); int strike = Strikecount(computer, player); + int ball = count - strike; - if(ball+strike == 0) return "nothing"; - return ball + "ball " + strike + "strike"; + if(count == 0) return "nothing"; + else if(strike == 0) return ball + "ball"; + else if(ball == 0) return strike + "strike"; + else return ball + "ball " + strike + "strike"; } } diff --git a/src/main/java/baseballgame/Regame.java b/src/main/java/baseballgame/Regame.java new file mode 100644 index 000000000..3c69bf0f5 --- /dev/null +++ b/src/main/java/baseballgame/Regame.java @@ -0,0 +1,21 @@ +package baseballgame; + +import java.util.Scanner; + +public class Regame { + public boolean restart(){ + System.out.println("you corrected 3 number! end game"); + System.out.println("enter 1 to restart game, enter 2 to exit game"); + + Scanner scanner = new Scanner(System.in); + char answer = scanner.next().charAt(0); + + if(answer == '1') { + return true; + } else if (answer == '2') { + return false; + }else{ + throw new IllegalArgumentException("enter 1 or 2"); + } + } +} diff --git a/src/main/java/baseballgame/playgame.java b/src/main/java/baseballgame/playgame.java index 59e302e39..346f1f6f6 100644 --- a/src/main/java/baseballgame/playgame.java +++ b/src/main/java/baseballgame/playgame.java @@ -18,7 +18,7 @@ public List player_num() { player_num.add(Integer.parseInt(String.valueOf(digit))); } } - scanner.close(); + // Length_exception(player_num.toString()); return player_num; From 57544370e49bd4227bc6a4b37a82e28ed8c33040 Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Mon, 6 May 2024 01:58:02 +0900 Subject: [PATCH 09/10] =?UTF-8?q?Application.java=EC=97=90=EC=84=9C=20dept?= =?UTF-8?q?h=203=EB=90=98=EB=8A=94=EA=B1=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/baseballgame/Application.java | 39 +++++++++++++-------- src/main/java/baseballgame/playgame.java | 3 +- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/main/java/baseballgame/Application.java b/src/main/java/baseballgame/Application.java index 06c04ab70..8eff0e137 100644 --- a/src/main/java/baseballgame/Application.java +++ b/src/main/java/baseballgame/Application.java @@ -2,28 +2,37 @@ import java.util.List; public class Application { - public static void main(String[] args) throws IllegalArgumentException{ - ComputerNum computer = new ComputerNum(); - playgame game = new playgame(); + public void res_equals(String result, List com_num){ Compare compare = new Compare(); - Regame regame = new Regame(); + playgame game = new playgame(); + while(!result.equals("3strike")) { + result = compare.Compare_num(com_num, game.player_num()); + System.out.println(result); + } + } + public static void main(String[] args) throws IllegalArgumentException{ + try{ + ComputerNum computer = new ComputerNum(); + playgame game = new playgame(); + Compare compare = new Compare(); + Regame regame = new Regame(); + Application app = new Application(); - boolean again = true; + boolean again = true; - while(again) { - List com_num = computer.ComputerNumber(); - System.out.println(com_num); + while(again) { + List com_num = computer.ComputerNumber(); + List player_num = game.player_num(); - String result = ""; + String result = ""; + app.res_equals(result,com_num); - while(!result.equals("3strike")) { - result = compare.Compare_num(com_num, game.player_num()); - System.out.println(result); + again = regame.restart(); } - again = regame.restart(); + } catch (IllegalArgumentException e) { + System.out.println(e.getMessage()); + return; } - - } } diff --git a/src/main/java/baseballgame/playgame.java b/src/main/java/baseballgame/playgame.java index 346f1f6f6..a57ec452e 100644 --- a/src/main/java/baseballgame/playgame.java +++ b/src/main/java/baseballgame/playgame.java @@ -19,8 +19,7 @@ public List player_num() { } } - -// Length_exception(player_num.toString()); + Length_exception(input); return player_num; } public void Length_exception(String s){ From 7daa9fae3698a4d94f37f1ac859034fd325aad11 Mon Sep 17 00:00:00 2001 From: kmj452 <111856852+kmj452@users.noreply.github.com> Date: Mon, 6 May 2024 09:48:19 +0900 Subject: [PATCH 10/10] =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 + src/main/java/baseballgame/playgame.java | 1 + .../java/baseballgame/ApplicationTest.java | 170 ++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 src/test/java/baseballgame/ApplicationTest.java diff --git a/README.md b/README.md index dbb2fe364..645eccf4a 100644 --- a/README.md +++ b/README.md @@ -37,3 +37,6 @@ ex) git checkout -b apply-feedback 6. 게임 종료 후 게임을 다시 시작하냐는 문구 출력, 사용자 입력 받음 7. 사용자 입력에 따라 다시 시작 / 게임 종료 / 8. 사용자가 유효하지 않은 숫자 입력 시 예외처리 + +------------------------ + diff --git a/src/main/java/baseballgame/playgame.java b/src/main/java/baseballgame/playgame.java index a57ec452e..672171c7c 100644 --- a/src/main/java/baseballgame/playgame.java +++ b/src/main/java/baseballgame/playgame.java @@ -27,4 +27,5 @@ public void Length_exception(String s){ throw new IllegalArgumentException("Not a three digit number"); } } + } diff --git a/src/test/java/baseballgame/ApplicationTest.java b/src/test/java/baseballgame/ApplicationTest.java new file mode 100644 index 000000000..2fce78fcc --- /dev/null +++ b/src/test/java/baseballgame/ApplicationTest.java @@ -0,0 +1,170 @@ +package baseballgame; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import java.io.ByteArrayInputStream; +import java.util.Arrays; +import java.util.List; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import static org.junit.jupiter.api.Assertions.*; + +class ApplicationTest { + + @Test + @DisplayName("Test Duplication in com_num") + public void com_num_Dup_test(){ + //given + List com_num; + + //when + ComputerNum computer = new ComputerNum(); + com_num = computer.ComputerNumber(); + + //then + assertNotEquals(com_num.get(0),com_num.get(1)); + assertNotEquals(com_num.get(1),com_num.get(2)); + assertNotEquals(com_num.get(0),com_num.get(2)); + } + + @Test + @DisplayName("3Strike Test") + public void strike3Test(){ + List test1 = Arrays.asList(1,2,3); + List test2 = Arrays.asList(1,2,3); + + Compare compare = new Compare(); + + assertEquals("3strike", compare.Compare_num(test1,test2)); + } + + @Test + @DisplayName("3ball Test") + public void ball3Test(){ + List test1 = Arrays.asList(1,2,3); + List test2 = Arrays.asList(2,3,1); + + Compare compare = new Compare(); + + assertEquals("3ball", compare.Compare_num(test1,test2)); + } + + @Test + @DisplayName("nothing Test") + public void nothingTest(){ + List test1 = Arrays.asList(1,2,3); + List test2 = Arrays.asList(4,5,6); + + Compare compare = new Compare(); + + assertEquals("nothing", compare.Compare_num(test1,test2)); + } + + @Test + @DisplayName("N Strike 0 Ball Test") + public void NStrike0BallTest(){ + List test1 = Arrays.asList(1,2,3); + List test2 = Arrays.asList(1,5,6); + + Compare compare = new Compare(); + + assertEquals("1strike", compare.Compare_num(test1,test2)); + } + + @Test + @DisplayName("0 Strike N Ball Test") + public void NBall0StrikeTest(){ + List test1 = Arrays.asList(1,2,3); + List test2 = Arrays.asList(5,1,6); + + Compare compare = new Compare(); + + assertEquals("1ball", compare.Compare_num(test1,test2)); + } + + @Test + @DisplayName("N Strike N Ball Test") + public void NStrikeNBallTest(){ + List test1 = Arrays.asList(1,2,3); + List test2 = Arrays.asList(1,6,2); + + Compare compare = new Compare(); + + assertEquals("1ball 1strike", compare.Compare_num(test1,test2)); + } + + @Test + @DisplayName("player input exception test") + public void testLength_exception_whenInputLengthIsGreaterThanThree() { + playgame playgame = new playgame(); + + try { + playgame.Length_exception("1234"); + fail("Expected IllegalArgumentException"); + } catch (IllegalArgumentException e) { + assertEquals("Not a three digit number", e.getMessage()); + } + } + + @Test + public void testLength_exception_whenInputLengthIsThree() { + playgame playgame = new playgame(); + try { + playgame.Length_exception("123"); + } catch (IllegalArgumentException e) { + fail("Unexpected IllegalArgumentException"); + } + } + + @Test + public void testLength_exception_whenInputLengthIsLessThanThree() { + playgame playgame = new playgame(); + try { + playgame.Length_exception("12"); + fail("Expected IllegalArgumentException"); + } catch (IllegalArgumentException e) { + assertEquals("Not a three digit number", e.getMessage()); + } + } + + @Test + public void testRestart_Input1() { + String input = "1"; + System.setIn(new ByteArrayInputStream(input.getBytes())); + + Regame regame = new Regame(); + boolean result = regame.restart(); + + assertTrue(result); + } + + @Test + public void testRestart_whenInputIs2() { + String input = "2"; + System.setIn(new ByteArrayInputStream(input.getBytes())); + + Regame regame = new Regame(); + boolean result = regame.restart(); + + assertFalse(result); + } + + @Test + public void testRestart_whenInputIsInvalid() { + String input = "3"; // Invalid input + System.setIn(new ByteArrayInputStream(input.getBytes())); + + Regame regame = new Regame(); + + try { + regame.restart(); + fail("Expected IllegalArgumentException"); + } catch (IllegalArgumentException e) { + assertEquals("enter 1 or 2", e.getMessage()); + } + } + + + +} \ No newline at end of file