You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
11 months ago
|
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)
|
||
|
}
|
||
|
|
||
|
}
|