diff --git a/examples/acceptance_tests/106/aiken.lock b/examples/acceptance_tests/106/aiken.lock new file mode 100644 index 00000000..6e350cda --- /dev/null +++ b/examples/acceptance_tests/106/aiken.lock @@ -0,0 +1,7 @@ +# This file was generated by Aiken +# You typically do not need to edit this file + +requirements = [] +packages = [] + +[etags] diff --git a/examples/acceptance_tests/106/aiken.toml b/examples/acceptance_tests/106/aiken.toml new file mode 100644 index 00000000..214d0223 --- /dev/null +++ b/examples/acceptance_tests/106/aiken.toml @@ -0,0 +1,9 @@ +name = "aiken-lang/106" +version = "0.0.0" +license = "Apache-2.0" +description = "Aiken contracts for project 'aiken-lang/106'" + +[repository] +user = "aiken-lang" +project = "106" +platform = "github" diff --git a/examples/acceptance_tests/106/lib/tests.ak b/examples/acceptance_tests/106/lib/tests.ak new file mode 100644 index 00000000..8e3b67de --- /dev/null +++ b/examples/acceptance_tests/106/lib/tests.ak @@ -0,0 +1,62 @@ +type Foo { + foo: Int, +} + +type Bar { + Buzz + Bazz +} + +test soft_casting_1() { + let data: Data = Foo { foo: 42 } + if data is Foo { + True + } else { + False + } +} + +test soft_casting_2() { + let data: Data = Foo { foo: 42 } + if data is Foo { .. }: Foo { + True + } else { + False + } +} + +test soft_casting_3() { + let data: Data = Buzz + if data is Foo { + False + } else { + True + } +} + +test soft_casting_4() { + let data: Data = Buzz + if data is Foo { .. }: Foo { + False + } else { + True + } +} + +test soft_casting_5() { + let data: Data = Bazz + if data is Foo { + False + } else { + True + } +} + +test soft_casting_6() { + let data: Data = Bazz + if data is Foo { .. }: Foo { + False + } else { + True + } +}