diff --git a/examples/acceptance_tests/065/aiken.lock b/examples/acceptance_tests/065/aiken.lock new file mode 100644 index 00000000..3a78b1e7 --- /dev/null +++ b/examples/acceptance_tests/065/aiken.lock @@ -0,0 +1,5 @@ +# This file was generated by Aiken +# You typically do not need to edit this file + +requirements = [] +packages = [] diff --git a/examples/acceptance_tests/065/aiken.toml b/examples/acceptance_tests/065/aiken.toml new file mode 100644 index 00000000..dde5bed3 --- /dev/null +++ b/examples/acceptance_tests/065/aiken.toml @@ -0,0 +1,3 @@ +name = 'aiken-lang/acceptance_test_065' +version = '0.0.0' +description = '' diff --git a/examples/acceptance_tests/065/lib/tests.ak b/examples/acceptance_tests/065/lib/tests.ak new file mode 100644 index 00000000..505e66b8 --- /dev/null +++ b/examples/acceptance_tests/065/lib/tests.ak @@ -0,0 +1,49 @@ +use aiken/builtin + +type MyData { + Integer(Int) + Bytes(ByteArray) +} + +test foo() { + inspect(42) == Integer(42) && inspect(#"ff") == Bytes(#"ff") +} + +fn inspect(data: Data) -> MyData { + expect result: MyData = + builtin.choose_data( + data, + inspect_constr(data), + inspect_map(data), + inspect_list(data), + inspect_integer(data), + inspect_bytearray(data), + ) + result +} + +fn inspect_constr(_data: Data) -> Data { + todo +} + +fn inspect_map(_data: Data) -> Data { + todo +} + +fn inspect_list(_data: Data) -> Data { + todo +} + +fn inspect_integer(data: Data) -> Data { + let result: Data = + builtin.un_i_data(data) + |> Integer + result +} + +fn inspect_bytearray(data: Data) -> Data { + let result: Data = + builtin.un_b_data(data) + |> Bytes + result +}