Files
kraken/tests/test_util.krak

53 lines
1.2 KiB
Plaintext
Raw Normal View History

import util:*
import io:*
obj test(Object) {
var counter:int
fun construct(): *test {
counter = 0
println("construct with 0")
return this
}
fun construct(it:int): *test {
counter = it
print("construct with "); println(it)
return this
}
fun copy_construct(old: *test):void {
counter = old->counter+1
print("copy construct from "); print(old->counter); print(" to "); println(counter)
}
fun destruct():void {
print("destruct with "); println(counter)
}
}
fun main():int {
println(min(1,2))
println(min(7.0,8.0))
println(max(1,2))
println(max(7.0,8.0))
range(3,13, 3).for_each(fun(i: int) { print(i); })
println()
range(2,8).for_each(fun(i: int) { print(i); })
println()
println(range(2,8,2).any_true(fun(i: int): bool { return i%2 == 1; } ))
println(range(3).any_true(fun(i: int): bool { return i%2 == 1; } ))
var oddPair = make_pair(3, "hi")
println(oddPair.first)
println(oddPair.second)
println("construct")
var test1.construct():test
var test2.construct(100):test
println("make_pair")
var test_pair = make_pair(test1, test2)
println("done")
return 0
}