Reword some stuff.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Manuel Friedli 2024-05-18 02:18:06 +02:00
parent 49725fe7df
commit b18e7fba9e
Signed by: manuel
GPG key ID: 41D08ABA75634DA1
3 changed files with 26 additions and 28 deletions

View file

@ -35,18 +35,18 @@ public class Tile {
private Tile(@NotNull final EnumSet<Direction> walls, final boolean solution) { private Tile(@NotNull final EnumSet<Direction> walls, final boolean solution) {
for (final Direction direction : walls) { for (final Direction direction : walls) {
this.walls.set(direction); this.walls.set(direction);
this.walls.harden(direction); this.walls.seal(direction);
} }
this.visited = true; this.visited = true;
this.solution = solution; this.solution = solution;
} }
public void preventDiggingToOrFrom(@NotNull final Direction direction) { public void preventDiggingToOrFrom(@NotNull final Direction direction) {
this.walls.harden(direction); this.walls.seal(direction);
} }
public void enableDiggingToOrFrom(@NotNull final Direction direction) { public void enableDiggingToOrFrom(@NotNull final Direction direction) {
this.walls.unharden(direction); this.walls.unseal(direction);
} }
public boolean digFrom(@NotNull final Direction direction) { public boolean digFrom(@NotNull final Direction direction) {
@ -66,7 +66,7 @@ public class Tile {
} }
public Option<Direction> getRandomAvailableDirection(@NotNull final Random random) { public Option<Direction> getRandomAvailableDirection(@NotNull final Random random) {
final Stream<Direction> availableDirections = this.walls.getUnhardenedSet(); final Stream<Direction> availableDirections = this.walls.getUnsealedSet();
if (availableDirections.isEmpty()) { if (availableDirections.isEmpty()) {
return Option.none(); return Option.none();
} }

View file

@ -15,7 +15,7 @@ import java.util.TreeSet;
@ToString @ToString
public class Walls { public class Walls {
private final SortedSet<Direction> directions = new TreeSet<>(); private final SortedSet<Direction> directions = new TreeSet<>();
private final Set<Direction> hardened = new HashSet<>(); private final Set<Direction> sealed = new HashSet<>();
public void set(@NotNull final Direction direction) { public void set(@NotNull final Direction direction) {
this.directions.add(direction); this.directions.add(direction);
@ -26,7 +26,7 @@ public class Walls {
} }
public boolean clear(@NotNull final Direction direction) { public boolean clear(@NotNull final Direction direction) {
if (this.hardened.contains(direction)) { if (this.sealed.contains(direction)) {
return false; return false;
} }
return this.directions.remove(direction); return this.directions.remove(direction);
@ -36,19 +36,19 @@ public class Walls {
return this.directions.contains(direction); return this.directions.contains(direction);
} }
public Stream<Direction> getUnhardenedSet() { public Stream<Direction> getUnsealedSet() {
return Stream.ofAll(this.directions) return Stream.ofAll(this.directions)
.removeAll(this.hardened); .removeAll(this.sealed);
} }
public void harden(@NotNull final Direction direction) { public void seal(@NotNull final Direction direction) {
if (!this.directions.contains(direction)) { if (!this.directions.contains(direction)) {
throw new IllegalStateException("Trying to harden cleared Direction: " + direction); throw new IllegalStateException("Trying to seal cleared Direction: " + direction);
} }
this.hardened.add(direction); this.sealed.add(direction);
} }
public void unharden(@NotNull final Direction direction) { public void unseal(@NotNull final Direction direction) {
this.hardened.remove(direction); this.sealed.remove(direction);
} }
} }

View file

@ -1,7 +1,5 @@
package ch.fritteli.maze.generator.model; package ch.fritteli.maze.generator.model;
import ch.fritteli.maze.generator.model.Direction;
import ch.fritteli.maze.generator.model.Walls;
import io.vavr.collection.Stream; import io.vavr.collection.Stream;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -65,14 +63,14 @@ class WallsTest {
} }
@Test @Test
void testHarden() { void testSeal() {
// arrange // arrange
final Walls sut = new Walls(); final Walls sut = new Walls();
sut.set(Direction.TOP); sut.set(Direction.TOP);
sut.set(Direction.RIGHT); sut.set(Direction.RIGHT);
// act // act
sut.harden(Direction.TOP); sut.seal(Direction.TOP);
// assert // assert
assertThat(sut) assertThat(sut)
@ -88,34 +86,34 @@ class WallsTest {
assertThat(result).isFalse(); assertThat(result).isFalse();
assertThat(sut.isSet(Direction.TOP)).isTrue(); assertThat(sut.isSet(Direction.TOP)).isTrue();
// act / assert: try to harden un-set wall // act / assert: try to seal un-set wall
assertThatExceptionOfType(IllegalStateException.class).isThrownBy(() -> sut.harden(Direction.LEFT)); assertThatExceptionOfType(IllegalStateException.class).isThrownBy(() -> sut.seal(Direction.LEFT));
} }
@Test @Test
void testUnharden() { void testUnseal() {
// arrange // arrange
final Walls sut = new Walls(); final Walls sut = new Walls();
sut.setAll(); sut.setAll();
sut.harden(Direction.TOP); sut.seal(Direction.TOP);
// pre-assert: TOP can't be cleared while hardened // pre-assert: TOP can't be cleared while hardened
assertThat(sut.clear(Direction.TOP)).isFalse(); assertThat(sut.clear(Direction.TOP)).isFalse();
// act // act
sut.unharden(Direction.TOP); sut.unseal(Direction.TOP);
// assert: TOP can be cleared // assert: TOP can be cleared
assertThat(sut.clear(Direction.TOP)).isTrue(); assertThat(sut.clear(Direction.TOP)).isTrue();
} }
@Test @Test
void testGetUnhardenedSet() { void testGetUnsealedSet() {
// arrange // arrange
final Walls sut = new Walls(); final Walls sut = new Walls();
// act // act
Stream<Direction> result = sut.getUnhardenedSet(); Stream<Direction> result = sut.getUnsealedSet();
// assert // assert
assertThat(result).isEmpty(); assertThat(result).isEmpty();
@ -125,16 +123,16 @@ class WallsTest {
sut.set(Direction.LEFT); sut.set(Direction.LEFT);
// act // act
result = sut.getUnhardenedSet(); result = sut.getUnsealedSet();
// assert // assert
assertThat(result).containsExactly(Direction.TOP, Direction.LEFT); assertThat(result).containsExactly(Direction.TOP, Direction.LEFT);
// arrange: harden a direction // arrange: seal a direction
sut.harden(Direction.TOP); sut.seal(Direction.TOP);
// act // act
result = sut.getUnhardenedSet(); result = sut.getUnsealedSet();
// assert // assert
assertThat(result).containsExactly(Direction.LEFT); assertThat(result).containsExactly(Direction.LEFT);