summaryrefslogtreecommitdiffstats
path: root/third_party/rust/uniffi-example-arithmetic/tests/bindings/test_arithmetic.kts
blob: ef11850ae23f0befa5f7ce29c74177d9ca5afc11 (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
26
27
28
29
import org.mozilla.uniffi.example.arithmetic.*;

assert(add(2u, 4u) == 6uL)
assert(add(4u, 8u) == 12uL)

try {
    sub(0u, 2u)
    throw RuntimeException("Should have thrown a IntegerOverflow exception!")
} catch (e: ArithmeticException) {
    // It's okay!
}

assert(sub(4u, 2u) == 2uL)
assert(sub(8u, 4u) == 4uL)

assert(div(8u, 4u) == 2uL)

try {
    div(8u, 0u)
    throw RuntimeException("Should have panicked when dividing by zero")
} catch (e: InternalException) {
    // It's okay!
}

assert(equal(2u, 2uL))
assert(equal(4u, 4uL))

assert(!equal(2u, 4uL))
assert(!equal(4u, 8uL))