61 lines
4.2 KiB
Java
61 lines
4.2 KiB
Java
package ch.fritteli.maze.generator.renderer.text;
|
|
|
|
import ch.fritteli.maze.generator.renderer.text.CharDefinition;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
class CharDefinitionTest {
|
|
@Test
|
|
void testRenderingWall() {
|
|
assertThat(new CharDefinition(false, false, false, false, false)).hasToString(" ");
|
|
assertThat(new CharDefinition(false, false, false, true, false)).hasToString("╶");
|
|
assertThat(new CharDefinition(false, false, true, false, false)).hasToString("╴");
|
|
assertThat(new CharDefinition(false, false, true, true, false)).hasToString("─");
|
|
assertThat(new CharDefinition(false, true, false, false, false)).hasToString("╷");
|
|
assertThat(new CharDefinition(false, true, false, true, false)).hasToString("┌");
|
|
assertThat(new CharDefinition(false, true, true, false, false)).hasToString("┐");
|
|
assertThat(new CharDefinition(false, true, true, true, false)).hasToString("┬");
|
|
assertThat(new CharDefinition(true, false, false, false, false)).hasToString("╵");
|
|
assertThat(new CharDefinition(true, false, false, true, false)).hasToString("└");
|
|
assertThat(new CharDefinition(true, false, true, false, false)).hasToString("┘");
|
|
assertThat(new CharDefinition(true, false, true, true, false)).hasToString("┴");
|
|
assertThat(new CharDefinition(true, true, false, false, false)).hasToString("│");
|
|
assertThat(new CharDefinition(true, true, false, true, false)).hasToString("├");
|
|
assertThat(new CharDefinition(true, true, true, false, false)).hasToString("┤");
|
|
assertThat(new CharDefinition(true, true, true, true, false)).hasToString("┼");
|
|
}
|
|
|
|
@Test
|
|
void testRenderingSolution() {
|
|
assertThat(new CharDefinition(false, false, false, false, true)).hasToString(" ");
|
|
assertThat(new CharDefinition(false, false, false, true, true)).hasToString("╶");
|
|
assertThat(new CharDefinition(false, false, true, false, true)).hasToString("╴");
|
|
assertThat(new CharDefinition(false, false, true, true, true)).hasToString("─");
|
|
assertThat(new CharDefinition(false, true, false, false, true)).hasToString("╷");
|
|
assertThat(new CharDefinition(false, true, false, true, true)).hasToString("╭");
|
|
assertThat(new CharDefinition(false, true, true, false, true)).hasToString("╮");
|
|
assertThat(new CharDefinition(false, true, true, true, true)).hasToString("┬");
|
|
assertThat(new CharDefinition(true, false, false, false, true)).hasToString("╵");
|
|
assertThat(new CharDefinition(true, false, false, true, true)).hasToString("╰");
|
|
assertThat(new CharDefinition(true, false, true, false, true)).hasToString("╯");
|
|
assertThat(new CharDefinition(true, false, true, true, true)).hasToString("┴");
|
|
assertThat(new CharDefinition(true, true, false, false, true)).hasToString("│");
|
|
assertThat(new CharDefinition(true, true, false, true, true)).hasToString("├");
|
|
assertThat(new CharDefinition(true, true, true, false, true)).hasToString("┤");
|
|
assertThat(new CharDefinition(true, true, true, true, true)).hasToString("┼");
|
|
}
|
|
|
|
@Test
|
|
void testBuilderMethods() {
|
|
assertThat(new CharDefinition().up()).isEqualTo(new CharDefinition(true, false, false, false, false));
|
|
assertThat(new CharDefinition().down()).isEqualTo(new CharDefinition(false, true, false, false, false));
|
|
assertThat(new CharDefinition().left()).isEqualTo(new CharDefinition(false, false, true, false, false));
|
|
assertThat(new CharDefinition().right()).isEqualTo(new CharDefinition(false, false, false, true, false));
|
|
assertThat(new CharDefinition().solution()).isEqualTo(new CharDefinition(false, false, false, false, true));
|
|
assertThat(new CharDefinition().vertical()).isEqualTo(new CharDefinition(true, true, false, false, false));
|
|
assertThat(new CharDefinition().horizontal()).isEqualTo(new CharDefinition(false, false, true, true, false));
|
|
assertThat(new CharDefinition().vertical().horizontal().solution()).isEqualTo(new CharDefinition(true, true, true, true, true));
|
|
}
|
|
}
|