aiken/examples/acceptance_tests/121/lib/tests.ak

35 lines
619 B
Plaintext

pub type Foo {
i: Int,
b: Bool,
}
const give_i: fn(Int) -> Foo = Foo { i: _, b: True }
const give_b: fn(Bool) -> Foo = Foo(1337, _)
fn foo_i(i: Int) -> fn(Bool) -> Foo {
Foo { i: i, b: _bool }
}
fn foo_b(b: Bool) -> fn(Int) -> Foo {
Foo(_, b)
}
test test_1() {
let bar = foo_i(14)
and {
foo_i(42)(True) == Foo(42, True),
bar(False) == Foo { i: 14, b: False },
give_i(1337) == Foo { i: 1337, b: True },
}
}
test test_2() {
let bar = foo_b(False)
and {
foo_b(True)(42) == Foo(42, True),
bar(14) == Foo { i: 14, b: False },
give_b(False) == Foo { i: 1337, b: False },
}
}