From cd80dfe0b2c9a349dd3403639e68a288c5bb2f71 Mon Sep 17 00:00:00 2001 From: rigyeonghong Date: Thu, 3 Apr 2025 16:28:50 +0900 Subject: [PATCH] =?UTF-8?q?Step1=20-=20=ED=95=99=EC=8A=B5=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=8B=A4=EC=8A=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/.gitkeep | 0 src/test/java/study/SetTest.java | 43 +++++++++++++++++++++++++++++ src/test/java/study/StringTest.java | 34 +++++++++++++++++++++++ 3 files changed, 77 insertions(+) delete mode 100644 src/test/java/.gitkeep create mode 100644 src/test/java/study/SetTest.java create mode 100644 src/test/java/study/StringTest.java diff --git a/src/test/java/.gitkeep b/src/test/java/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/src/test/java/study/SetTest.java b/src/test/java/study/SetTest.java new file mode 100644 index 00000000000..967adf6b92f --- /dev/null +++ b/src/test/java/study/SetTest.java @@ -0,0 +1,43 @@ +package study; + +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.assertj.core.api.AssertionsForClassTypes.assertThat; + +public class SetTest { + private Set numbers; + + @BeforeEach + void setUp() { + numbers = new HashSet<>(); + numbers.add(1); + numbers.add(1); + numbers.add(2); + numbers.add(3); + } + + @Test + void size() { + int size = numbers.size(); + assertThat(size).isEqualTo(3); + } + + @ParameterizedTest + @ValueSource(ints = {1,2,3}) + void contains(Integer input) { + assertThat(numbers.contains(input)).isTrue(); + } + + @ParameterizedTest + @CsvSource(value = {"1:true", "2:true", "4:false"}, delimiter = ':') + void contains(Integer input, Boolean expected) { + assertThat(numbers.contains(input)).isEqualTo(expected); + } +} diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java new file mode 100644 index 00000000000..657c7755245 --- /dev/null +++ b/src/test/java/study/StringTest.java @@ -0,0 +1,34 @@ +package study; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +public class StringTest { + @Test + void split() { + String[] result = "1,2".split(","); + assertThat(result).contains("1"); + assertThat(result).containsExactly("1","2"); + } + + @Test + void substring() { + String text = "(1,2)"; + String result = text.substring(1, text.length()-1); + assertThat(result).isEqualTo("1,2"); + } + + @Test + @DisplayName("주어진 문자의 특정 위치 값을 벗어나면 예외 발생") + void charAt() { + String text = "abc"; + int len = text.length(); + assertThatThrownBy(() -> { + text.charAt(len); + }).isInstanceOf(IndexOutOfBoundsException.class) + .hasMessageContaining("String index out of range: " + len); + } +}