From e8902905bc01e3a70bc31fe20c9ea202a5765d20 Mon Sep 17 00:00:00 2001 From: Bryson Zimmerman Date: Sat, 26 Oct 2024 13:16:04 -0400 Subject: [PATCH] Additional test coverage --- src/test/kotlin/TilePropertiesTest.kt | 42 +++++++++++++++++++++++++++ src/test/kotlin/WorldTest.kt | 29 ++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 src/test/kotlin/TilePropertiesTest.kt create mode 100644 src/test/kotlin/WorldTest.kt diff --git a/src/test/kotlin/TilePropertiesTest.kt b/src/test/kotlin/TilePropertiesTest.kt new file mode 100644 index 0000000..f71fefc --- /dev/null +++ b/src/test/kotlin/TilePropertiesTest.kt @@ -0,0 +1,42 @@ +import technology.zim.data.Directions +import technology.zim.data.Directions.* +import technology.zim.data.TileProperties +import kotlin.test.Test + +class TilePropertiesTest { + + @Test + fun addConnectionsTest() { + val tileProperties = TileProperties(0) + var result = tileProperties + UP + + assert(result.connections and(UP.dir) == UP.dir) + assert(result.connections and(DOWN.dir) == 0) + + result += LEFT + + assert(result.connections and(UP.dir) == UP.dir) + assert(result.connections and(LEFT.dir) == LEFT.dir) + assert(result.connections and(RIGHT.dir) == 0) + assert(result.connections and(DOWN.dir) == 0) + + val after = result + UP + + assert(result == after) + } + + @Test + fun removeConnectionsTest() { + val props = TileProperties(UP.dir + LEFT.dir + RIGHT.dir + DOWN.dir) + var result = props - UP + + assert(result.connections and (UP.dir) == 0) + assert(result.connections and (LEFT.dir) == LEFT.dir) + assert(result.connections and (RIGHT.dir) == RIGHT.dir) + assert(result.connections and (DOWN.dir) == DOWN.dir) + + val after = result - UP + assert(result == after) + } + +} \ No newline at end of file diff --git a/src/test/kotlin/WorldTest.kt b/src/test/kotlin/WorldTest.kt new file mode 100644 index 0000000..0a9b051 --- /dev/null +++ b/src/test/kotlin/WorldTest.kt @@ -0,0 +1,29 @@ +import technology.zim.World +import technology.zim.data.Directions +import technology.zim.data.Tile +import technology.zim.data.TileProperties +import kotlin.test.* + +class WorldTest { + @BeforeTest + fun setUp() { + World.setSize(10, 10) + } + + @Test + fun updateTileTest() { + val t = Tile(1, 1) + val tu = t + Directions.UP + assert(World.get(t).connections == 0) + + World.update(t, TileProperties(Directions.UP.dir)) + World.update(tu, TileProperties(Directions.DOWN.dir)) + + assert(World.get(t).connections == Directions.UP.dir) + assert(World.get(tu).connections == Directions.DOWN.dir) + + + } + + +} \ No newline at end of file