-
Notifications
You must be signed in to change notification settings - Fork 738
/
Copy pathLinesTest.java
40 lines (32 loc) · 1.23 KB
/
LinesTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package nextstep.ladder.domain;
import nextstep.ladder.strategy.LineStrategy;
import nextstep.ladder.strategy.TrueLineStrategy;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class LinesTest {
public static Lines lines() {
LineStrategy lineStrategy = new TrueLineStrategy();
Lines lines = new Lines();
lines.generateLine(4, 3, lineStrategy);
return lines;
}
@Test
void 세명의참가자만큼_네줄로_사다리_생성() {
LineStrategy lineStrategy = new TrueLineStrategy();
Lines lines = new Lines();
lines.generateLine(3, 4, lineStrategy);
assertThat(lines.size()).isEqualTo(4);
for (int i = 0; i < lines.size(); i++) {
assertThatLineSize(lines, i);
assertThatLinePatternIsCorrect(lines, i);
}
}
private static void assertThatLinePatternIsCorrect(Lines lines, int linesIdx) {
for (int j = 0; j < lines.getLineSize(linesIdx); j++) {
assertThat(lines.getPoint(linesIdx, j)).isEqualTo(j % 2 == 0);
}
}
private static void assertThatLineSize(Lines lines, int linesIdx) {
assertThat(lines.getLineSize(linesIdx)).isEqualTo(2);
}
}