Skip to content

Commit 2076ba3

Browse files
authored
자동차경주-1단계-v1 (#5913)
1 parent 000dd5c commit 2076ba3

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

src/test/java/SetTest.java

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import org.junit.jupiter.api.BeforeEach;
2+
import org.junit.jupiter.api.Test;
3+
import org.junit.jupiter.params.ParameterizedTest;
4+
import org.junit.jupiter.params.provider.CsvSource;
5+
import org.junit.jupiter.params.provider.ValueSource;
6+
7+
import java.util.Arrays;
8+
import java.util.HashSet;
9+
import java.util.Set;
10+
11+
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
12+
13+
public class SetTest {
14+
15+
private Set<Integer> numbers;
16+
17+
@BeforeEach
18+
void SetUp() {
19+
numbers = new HashSet<>(Arrays.asList(1,1,2,3));
20+
}
21+
22+
@Test
23+
void setSize() {
24+
assertThat(numbers.size()).isEqualTo(3);
25+
}
26+
27+
@Test
28+
void contains() {
29+
assertThat(numbers.contains(1)).isTrue();
30+
assertThat(numbers.contains(2)).isTrue();
31+
assertThat(numbers.contains(3)).isTrue();
32+
assertThat(numbers.contains(4)).isFalse();
33+
}
34+
35+
@ParameterizedTest
36+
@ValueSource(ints = {1, 2, 3})
37+
void contains(int number) {
38+
assertThat(numbers.contains(number)).isTrue();
39+
}
40+
41+
@ParameterizedTest
42+
@CsvSource({
43+
"1, true",
44+
"2, true",
45+
"3, true",
46+
"4, false"
47+
})
48+
void contains(int number, boolean result) {
49+
assertThat(numbers.contains(number)).isEqualTo(result);
50+
}
51+
}

src/test/java/StringTest.java

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import org.junit.jupiter.api.DisplayName;
2+
import org.junit.jupiter.api.Test;
3+
4+
import static org.assertj.core.api.AssertionsForClassTypes.*;
5+
6+
public class StringTest {
7+
private final String ASSERTJ_CONTAINS_TEST = "1,2";
8+
private final String ASSERTJ_CONTAINS_EXACTLY_TEST = "1,";
9+
private final String COMMA = ",";
10+
private final String SUBSTRING_TEST = "(1,2)";
11+
private final String CHARAT_TEST = "abc";
12+
13+
@Test
14+
void assertJContains() {
15+
assertThat(ASSERTJ_CONTAINS_TEST.split(COMMA)).contains("1");
16+
assertThat(ASSERTJ_CONTAINS_TEST.split(COMMA)).contains("2");
17+
assertThat(ASSERTJ_CONTAINS_TEST.split(COMMA)).doesNotContain("3");
18+
}
19+
20+
@Test
21+
void assertJContainsExactly() {
22+
assertThat(ASSERTJ_CONTAINS_EXACTLY_TEST.split(COMMA)).containsExactly("1");
23+
}
24+
25+
@Test
26+
void substring() {
27+
int lparenIndex = SUBSTRING_TEST.indexOf('(');
28+
int rparenIndex = SUBSTRING_TEST.indexOf(')');
29+
assertThat(SUBSTRING_TEST.substring(lparenIndex+1, rparenIndex)).isEqualTo(ASSERTJ_CONTAINS_TEST);
30+
}
31+
32+
@DisplayName("특정 위치의 문자를 반환한다. 위치 값을 벗어나면 StringIndexOutOfBoundsException 발생한다.")
33+
@Test
34+
void chatAt() {
35+
int outOfBoundIndex = 4;
36+
37+
assertThat(CHARAT_TEST.charAt(1)).isEqualTo('b');
38+
assertThatExceptionOfType(StringIndexOutOfBoundsException.class)
39+
.isThrownBy(() -> {
40+
CHARAT_TEST.charAt(outOfBoundIndex);
41+
}).withMessage("String index out of range: %d", outOfBoundIndex);
42+
}
43+
}

0 commit comments

Comments
 (0)