summaryrefslogtreecommitdiffstats
path: root/third_party/rust/uniffi-example-sprites/tests/bindings/test_sprites.kts
blob: 42451f28ddc82a384c859e8ff219481b90187bd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import uniffi.sprites.*;

val sempty = Sprite(null)
assert( sempty.getPosition() == Point(0.0, 0.0) )

val s = Sprite(Point(0.0, 1.0))
assert( s.getPosition() == Point(0.0, 1.0) )

s.moveTo(Point(1.0, 2.0))
assert( s.getPosition() == Point(1.0, 2.0) )

s.moveBy(Vector(-4.0, 2.0))
assert( s.getPosition() == Point(-3.0, 4.0) )

s.destroy()
try {
    s.moveBy(Vector(0.0, 0.0))
    assert(false) { "Should not be able to call anything after `destroy`" }
} catch(e: IllegalStateException) {
    assert(true)
}

val srel = Sprite.newRelativeTo(Point(0.0, 1.0), Vector(1.0, 1.5))
assert( srel.getPosition() == Point(1.0, 2.5) )