diff --git a/src/test/java/study/StringTest.java b/src/test/java/study/StringTest.java deleted file mode 100644 index 43e47d9..0000000 --- a/src/test/java/study/StringTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package study; - -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.Assertions.assertThat; - -public class StringTest { - @Test - void replace() { - String actual = "abc".replace("b", "d"); - assertThat(actual).isEqualTo("adc"); - } -} diff --git a/src/test/java/study/mission0/SetTest.java b/src/test/java/study/mission0/SetTest.java new file mode 100644 index 0000000..263de9d --- /dev/null +++ b/src/test/java/study/mission0/SetTest.java @@ -0,0 +1,51 @@ +package study.mission0; + + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +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(2); + numbers.add(3); + } + + + @Test + @DisplayName("요구사항 1: Set 의 크기를 확인한다.") + void checkSize(){ + assertThat(numbers.size()).isEqualTo(4); + } + + + @ParameterizedTest + @ValueSource(ints = {1, 2, 3}) + @DisplayName("요구사항 2: contains() 메소드를 활용해 값 존재하는지 확인하며 ParameterizedTest 를 이용해 중복코드를 제거한다.") + void isContainsNumber(int number){ + assertThat(numbers.contains(number)).isTrue(); + } + + + @ParameterizedTest + @CsvSource(value = {"1,true", "2,true", "3,true", "4,false", "5,false"}) + @DisplayName("요구사항 3: contains() 메소드를 활용해 값 존재하는지 확인하며 입력값에 따라 true, false 를 반환한다.") + void isContains_expectedTrueOrFalse(int input, boolean expected){ + assertThat(numbers.contains(input)).isEqualTo(expected); + } + +} diff --git a/src/test/java/study/mission0/StringTest.java b/src/test/java/study/mission0/StringTest.java new file mode 100644 index 0000000..cf9316b --- /dev/null +++ b/src/test/java/study/mission0/StringTest.java @@ -0,0 +1,41 @@ +package study.mission0; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; + +public class StringTest { + @Test + void replace() { + String actual = "abc".replace("b", "d"); + assertThat(actual).isEqualTo("adc"); + } + + + @Test + @DisplayName("요구사항 1 : split() 함수를 이용해 문자열을 분리시킨다.") + void split(){ + String[] splitValues = "1,2".split(","); + assertThat(splitValues).contains("1"); + assertThat(splitValues).containsExactly("1", "2"); // 원소가 정확히 일치하는지 확인 + } + + + @Test + @DisplayName("요구사항 2 : substring() 함수를 이용해 괄호를 제거 시킨다.") + void substringParentheses(){ + String value = "(1,2)"; + String subValues = value.substring(1, value.length()-1); + assertThat(subValues).isEqualTo("1,2"); + } + + + @Test + @DisplayName("요구사항 3 : chatAt() 메소드를 사용해 StringIndexOutOfBoundsException 을 발생시킨다.") + void chatAt_StringIndexOutOfBoundsException(){ + String value = "abc"; + assertThrows(StringIndexOutOfBoundsException.class, () -> value.charAt(value.length()+1)); + } +}