diff --git a/README.md b/README.md index 8fe711203..bd0a922fe 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,4 @@ git checkout main // 기본 브랜치가 main인 경우 git checkout -b 브랜치이름 ex) git checkout -b apply-feedback ``` +test \ No newline at end of file diff --git a/src/test/java/study/CalculatorTest.java b/src/test/java/study/CalculatorTest.java new file mode 100644 index 000000000..25ede7890 --- /dev/null +++ b/src/test/java/study/CalculatorTest.java @@ -0,0 +1,48 @@ +package study; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Stack; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * 요구사항 + * 사용자가 입력한 문자열 값에 따라 사칙연산을 수행할 수 있는 계산기를 구현해야 한다. + * 문자열 계산기는 사칙연산의 계산 우선순위가 아닌 입력 값에 따라 계산 순서가 결정된다. 즉, 수학에서는 곱셈, 나눗셈이 덧셈, 뺄셈 보다 먼저 계산해야 하지만 이를 무시한다. + * 예를 들어 "2 + 3 * 4 / 2"와 같은 문자열을 입력할 경우 2 + 3 * 4 / 2 실행 결과인 10을 출력해야 한다. + */ +public class CalculatorTest { + + // 컨텍스트 : 입력순서대로 사칙연산을 실행하는 프로그램 + // 기능 목록 + // 순서대로 계산 여부 테스트 + // 계산 결과 저장 테스트 + // 저장된 결과를 순서대로 계산 테스트 + + @DisplayName("순서대로 계산 여부 테스트") + @Test + void calculateInOrder(){ + + } + + @DisplayName("계산 결과 저장 테스트") + @Test + void setResultTest(){ + + } + + @DisplayName("저장된 결과를 순서대로 계산 테스트") + @Test + void calculateResultsInOrderTest(){ + + } + + + + + +} \ No newline at end of file diff --git a/src/test/java/study/SetTest.java b/src/test/java/study/SetTest.java new file mode 100644 index 000000000..82da5ec1d --- /dev/null +++ b/src/test/java/study/SetTest.java @@ -0,0 +1,48 @@ +package study; + +import org.assertj.core.util.Strings; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; +import org.junit.jupiter.params.provider.ValueSource; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.jupiter.api.Assertions.*; + +public class SetTest { + private Set numbers; + + @BeforeEach + void setUp() { + numbers = new HashSet<>(); + numbers.add(1); + numbers.add(1); + numbers.add(2); + numbers.add(3); + } + + @ParameterizedTest + @ValueSource(ints = {1, 2, 3}) + void set의_요소가_123(int number) { + // then + assertTrue(numbers.contains(number)); + } + +// // 왜 이런겨 +// @ParameterizedTest +// @ValueSource(strings = {"", " "}) +// void isBlank_ShouldReturnTrueForNullOrBlankStrings(String input) { +// assertTrue(Strings.isNullOrEmpty(input)); +// } + + @ParameterizedTest + @CsvSource(value = {"test:test", "tEst:test", "Java:java"}, delimiter = ':') + void toLowerCase_ShouldGenerateTheExpectedLowercaseValue(String input, String expected) { + String actual = input.toLowerCase(); + assertEquals(expected, actual); + } +} diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java index 43e47d90b..b66159ab9 100644 --- a/src/test/java/study/StringTest.java +++ b/src/test/java/study/StringTest.java @@ -7,7 +7,7 @@ public class StringTest { @Test void replace() { - String actual = "abc".replace("b", "d"); - assertThat(actual).isEqualTo("adc"); + String actual = "abc".replace("abc", "betterplace"); + assertThat(actual).isEqualTo("betterplace"); } }