Add acceptance test 106 showing issue with if/is implicit casting.

This commit is contained in:
KtorZ 2024-07-25 16:34:50 +02:00 committed by Kasey
parent aa872846bb
commit c4abf2e8f4
3 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,7 @@
# This file was generated by Aiken
# You typically do not need to edit this file
requirements = []
packages = []
[etags]

View File

@ -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"

View File

@ -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
}
}