🚀 기능 요구 사항 12월 이벤트 플래너 개발 요청 사항은 다음과 같습니다. 고객들이 식당에 방문할 날짜와 메뉴를 미리 선택하면 이벤트 플래너가 주문 메뉴, 할인 전 총주문 금액, 증정 메뉴, 혜택 내역, 총혜택 금액, 할인 후 예상 결제 금액, 12월 이벤트 배지 내용을 보여주기를 기대합니다. 12월 중 식당 예상 방문 날짜는 언제인가요? (숫자만 입력해 주세요!) 방문할 날짜는 1 이상 31 이하의 숫자로만 입력받아 주세요. 1 이상 31 이하의 숫자가 아닌 경우, "[ERROR] 유효하지 않은 날짜입니다. 다시 입력해 주세요."라는 에러 메시지를 보여 주세요. 모든 에러 메시지는 "[ERROR]"로 시작하도록 작성해 주세요. 주문하실 메뉴와 개수를 알려 주세요. (e.g. 해산물파스타-2,레드와인-..
🚀 기능 요구 사항 로또 게임은 아래와 같은 규칙으로 진행됩니다. - 로또 번호의 숫자 범위는 1~45까지이다. - 1개의 로또를 발행할 때 중복되지 않는 6개의 숫자를 뽑는다. - 당첨 번호 추첨 시 중복되지 않는 숫자 6개와 보너스 번호 1개를 뽑는다. - 당첨은 1등부터 5등까지 있다. 당첨 기준과 금액은 아래와 같다. - 1등: 6개 번호 일치 / 2,000,000,000원 - 2등: 5개 번호 + 보너스 번호 일치 / 30,000,000원 - 3등: 5개 번호 일치 / 1,500,000원 - 4등: 4개 번호 일치 / 50,000원 - 5등: 3개 번호 일치 / 5,000원 로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다. 로또 1장의 가격은 1,000원이다. 당첨 번..
AssertJ의 assertThat() AssertJ는 JUnit 테스트 코드에 사용되어 많은 Assertion을 제공하는 자바 라이브러리입니다. 이는 에러 메세지와 테스트 코드의 가독성을 높여주는 장점이 있습니다. 모든 테스트 코드는 asssertThat() 메서드에서 출발합니다. 다음과 같은 형식으로 AssertJ에서 제공하는 다양한 메서드를 연쇄 호출하며 코드를 작성할 수 있습니다. isEqualTo(Object o) : equals()로 실제값이 기대값과 내용이 같은지 검증 isNotEqualTo(Object o) : equals()로 실제값이 기대값과 내용이 다른지 검증 isInstanceOf(Class type) : 실제값이 기대값 타입의 인스턴스인지 검증 isNotInstanceOf(Clas..
JUnit JUnit는 단위 테스트를 쉽게 해주는 테스트용 Framework입니다. 코드가 거대해지고 복잡해짐에 따라, 유닛 단위로 지속적인 테스트를 해서 작은 단위로 빠르고 안정적인 검증을 하기 위해 JUnit을 사용합니다. JUnit 어노테이션 @Test 함수 위에 선언해 테스트 함수임을 지정합니다. @Test(timeout = 밀리초) 테스트 함수의 수행 시간을 제한합니다. 테스트할 함수가 수행되는 시간이 어노테이션 매개변수로 지정한 시간을 넘긴다면 테스트 Fail @Test(expected = 예외) 테스트 함수의 예외를 지정합니다. 매개변수로 지정한 예외가 발생해야 테스트 Pass @Ignore 해당 어노테이션이 선언된 테스트 함수는 무시하도록 지정합니다. @BeforeEach 해당 어노테이션이..
🚀 기능 요구 사항 초간단 자동차 경주 게임을 구현합니다. 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다. 각 자동차에 이름을 부여할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다. 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다. 사용자는 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다. 전진하는 조건은 0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우이다. 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다. 우승자가 여러 명일 경우 쉼표(,)를 이용하여 구분한다. 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료되어야..
🚀 기능 요구 사항 기본적으로 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임입니다. 같은 수가 같은 자리에 있으면 스트라이크, 다른 자리에 있으면 볼, 같은 수가 전혀 없으면 낫싱이란 힌트를 얻고, 그 힌트를 이용해서 먼저 상대방(컴퓨터)의 수를 맞추면 승리합니다. 예) 상대방(컴퓨터)의 수가 425일 때 123을 제시한 경우 : 1스트라이크 456을 제시한 경우 : 1볼 1스트라이크 789를 제시한 경우 : 낫싱 위 숫자 야구 게임에서 상대방의 역할을 컴퓨터가 합니다. 컴퓨터는 1에서 9까지 서로 다른 임의의 수 3개를 선택합니다. 게임 플레이어는 컴퓨터가 생각하고 있는 서로 다른 3개의 숫자를 입력하고, 컴퓨터는 입력한 숫자에 대한 결과를 출력합니다. 이 같은 과정을 반복해 컴퓨터..