Additional test coverage

main
Bryson Zimmerman 11 months ago
parent a8ec36dbd2
commit e8902905bc

@ -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)
}
}

@ -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)
}
}
Loading…
Cancel
Save