updating more of the tests
This commit is contained in:
parent
51f1f2b67f
commit
3c81ebf137
|
@ -3496,36 +3496,75 @@ fn generic_validator_type_test() {
|
||||||
.apply(Term::integer(1.into()))
|
.apply(Term::integer(1.into()))
|
||||||
.apply(Term::var("subject"))
|
.apply(Term::var("subject"))
|
||||||
.delayed_if_then_else(
|
.delayed_if_then_else(
|
||||||
|
Term::var("r_fields")
|
||||||
|
.delayed_choose_list(
|
||||||
|
Term::Error.delayed_trace(Term::var("param_msg")),
|
||||||
|
Term::var("tail_1")
|
||||||
|
.delayed_choose_list(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("param_msg")),
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
.apply(Term::var("tail_1"))
|
.apply(Term::var("tail_1"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit().lambda("_").apply(
|
Term::unit().lambda("_").apply(
|
||||||
Term::var("__expect_B")
|
Term::var("__expect_B")
|
||||||
.apply(Term::var("field_B"))
|
.apply(Term::var("field_B"))
|
||||||
.apply(Term::var("param_msg")),
|
.apply(Term::var(
|
||||||
|
"param_msg",
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
Term::Error.delayed_trace(
|
||||||
|
Term::var("param_msg"),
|
||||||
),
|
),
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
|
||||||
)
|
)
|
||||||
.lambda("field_B")
|
.lambda("field_B")
|
||||||
.apply(Term::head_list().apply(Term::var("tail_1")))
|
.apply(
|
||||||
|
Term::head_list()
|
||||||
|
.apply(Term::var("tail_1")),
|
||||||
|
),
|
||||||
|
)
|
||||||
.lambda("tail_1")
|
.lambda("tail_1")
|
||||||
.apply(Term::tail_list().apply(Term::var("r_fields")))
|
.apply(
|
||||||
|
Term::tail_list()
|
||||||
|
.apply(Term::var("r_fields")),
|
||||||
|
)
|
||||||
.lambda("field_0")
|
.lambda("field_0")
|
||||||
.apply(
|
.apply(
|
||||||
|
Term::var("__val")
|
||||||
|
.delayed_choose_data(
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::integer(0.into()))
|
.apply(Term::integer(0.into()))
|
||||||
.apply(
|
.apply(
|
||||||
Term::fst_pair().apply(
|
Term::fst_pair().apply(
|
||||||
Term::unconstr_data().apply(
|
Term::unconstr_data()
|
||||||
Term::head_list()
|
.apply(Term::var(
|
||||||
.apply(Term::var("r_fields")),
|
"__val",
|
||||||
),
|
)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.delayed_if_then_else(
|
.delayed_if_then_else(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error,
|
Term::Error,
|
||||||
),
|
),
|
||||||
|
Term::Error.delayed_trace(
|
||||||
|
Term::var("param_msg"),
|
||||||
|
),
|
||||||
|
Term::Error.delayed_trace(
|
||||||
|
Term::var("param_msg"),
|
||||||
|
),
|
||||||
|
Term::Error.delayed_trace(
|
||||||
|
Term::var("param_msg"),
|
||||||
|
),
|
||||||
|
Term::Error.delayed_trace(
|
||||||
|
Term::var("param_msg"),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.lambda("__val")
|
||||||
|
.apply(
|
||||||
|
Term::head_list()
|
||||||
|
.apply(Term::var("r_fields")),
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
.lambda("r_fields")
|
.lambda("r_fields")
|
||||||
.apply(
|
.apply(
|
||||||
|
@ -3546,6 +3585,9 @@ fn generic_validator_type_test() {
|
||||||
.apply(Term::integer(0.into()))
|
.apply(Term::integer(0.into()))
|
||||||
.apply(Term::var("subject"))
|
.apply(Term::var("subject"))
|
||||||
.delayed_if_then_else(
|
.delayed_if_then_else(
|
||||||
|
Term::var("B_fields")
|
||||||
|
.delayed_choose_list(
|
||||||
|
Term::Error.delayed_trace(Term::var("param_msg")),
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
.apply(Term::var("B_fields"))
|
.apply(Term::var("B_fields"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
|
@ -3554,14 +3596,35 @@ fn generic_validator_type_test() {
|
||||||
)
|
)
|
||||||
.lambda("something")
|
.lambda("something")
|
||||||
.apply(
|
.apply(
|
||||||
|
Term::var("__val")
|
||||||
|
.delayed_choose_data(
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::integer(0.into()))
|
.apply(Term::integer(0.into()))
|
||||||
.apply(Term::fst_pair().apply(
|
.apply(
|
||||||
Term::unconstr_data().apply(
|
Term::fst_pair().apply(
|
||||||
Term::head_list().apply(Term::var("B_fields")),
|
Term::unconstr_data()
|
||||||
|
.apply(Term::var("__val")),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.delayed_if_then_else(
|
||||||
|
Term::unit(),
|
||||||
|
Term::Error,
|
||||||
|
),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("param_msg")),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("param_msg")),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("param_msg")),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("param_msg")),
|
||||||
|
)
|
||||||
|
.lambda("__val")
|
||||||
|
.apply(
|
||||||
|
Term::head_list()
|
||||||
|
.apply(Term::var("B_fields")),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
))
|
|
||||||
.delayed_if_then_else(Term::unit(), Term::Error),
|
|
||||||
)
|
)
|
||||||
.lambda("B_fields")
|
.lambda("B_fields")
|
||||||
.apply(
|
.apply(
|
||||||
|
@ -4519,15 +4582,27 @@ fn expect_head_cast_data_with_tail() {
|
||||||
test hi() {
|
test hi() {
|
||||||
let a: Data = [1, 2, 3]
|
let a: Data = [1, 2, 3]
|
||||||
expect [h, j, ..]: List<Int> = a
|
expect [h, j, ..]: List<Int> = a
|
||||||
h == h
|
h == h && j == j
|
||||||
}
|
}
|
||||||
"#;
|
"#;
|
||||||
|
|
||||||
assert_uplc(
|
assert_uplc(
|
||||||
src,
|
src,
|
||||||
|
Term::var("unwrap_a")
|
||||||
|
.delayed_choose_list(
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::var("tail_1")
|
||||||
|
.delayed_choose_list(
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::var("h"))
|
.apply(Term::var("h"))
|
||||||
.apply(Term::var("h"))
|
.apply(Term::var("h"))
|
||||||
|
.delayed_if_then_else(
|
||||||
|
Term::equals_integer()
|
||||||
|
.apply(Term::var("j"))
|
||||||
|
.apply(Term::var("j")),
|
||||||
|
Term::bool(false),
|
||||||
|
)
|
||||||
.lambda("_")
|
.lambda("_")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("expect_on_list")
|
Term::var("expect_on_list")
|
||||||
|
@ -4544,11 +4619,15 @@ fn expect_head_cast_data_with_tail() {
|
||||||
Term::var("expect_on_list")
|
Term::var("expect_on_list")
|
||||||
.apply(Term::var("expect_on_list"))
|
.apply(Term::var("expect_on_list"))
|
||||||
.apply(
|
.apply(
|
||||||
Term::tail_list().apply(Term::var("list_to_check")),
|
Term::tail_list().apply(Term::var(
|
||||||
|
"list_to_check",
|
||||||
|
)),
|
||||||
)
|
)
|
||||||
.lambda("_")
|
.lambda("_")
|
||||||
.apply(Term::var("check_with").apply(
|
.apply(Term::var("check_with").apply(
|
||||||
Term::head_list().apply(Term::var("list_to_check")),
|
Term::head_list().apply(Term::var(
|
||||||
|
"list_to_check",
|
||||||
|
)),
|
||||||
)),
|
)),
|
||||||
)
|
)
|
||||||
.lambda("list_to_check")
|
.lambda("list_to_check")
|
||||||
|
@ -4559,7 +4638,23 @@ fn expect_head_cast_data_with_tail() {
|
||||||
)
|
)
|
||||||
.apply(Term::var("tail_2"))
|
.apply(Term::var("tail_2"))
|
||||||
.apply(
|
.apply(
|
||||||
Term::un_i_data()
|
Term::var("__val")
|
||||||
|
.delayed_choose_data(
|
||||||
|
Term::Error.delayed_trace(Term::var(
|
||||||
|
"expect[h,j,..]:List<Int>=a",
|
||||||
|
)),
|
||||||
|
Term::Error.delayed_trace(Term::var(
|
||||||
|
"expect[h,j,..]:List<Int>=a",
|
||||||
|
)),
|
||||||
|
Term::Error.delayed_trace(Term::var(
|
||||||
|
"expect[h,j,..]:List<Int>=a",
|
||||||
|
)),
|
||||||
|
Term::un_i_data().apply(Term::var("__val")),
|
||||||
|
Term::Error.delayed_trace(Term::var(
|
||||||
|
"expect[h,j,..]:List<Int>=a",
|
||||||
|
)),
|
||||||
|
)
|
||||||
|
.lambda("__val")
|
||||||
.apply(Term::var("list_item"))
|
.apply(Term::var("list_item"))
|
||||||
.lambda("list_item"),
|
.lambda("list_item"),
|
||||||
),
|
),
|
||||||
|
@ -4567,17 +4662,62 @@ fn expect_head_cast_data_with_tail() {
|
||||||
.lambda("tail_2")
|
.lambda("tail_2")
|
||||||
.apply(Term::tail_list().apply(Term::var("tail_1")))
|
.apply(Term::tail_list().apply(Term::var("tail_1")))
|
||||||
.lambda("j")
|
.lambda("j")
|
||||||
.apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("tail_1"))))
|
.apply(
|
||||||
|
Term::var("__val")
|
||||||
|
.delayed_choose_data(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::un_i_data().apply(Term::var("__val")),
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
)
|
||||||
|
.lambda("__val")
|
||||||
|
.apply(Term::head_list().apply(Term::var("tail_1"))),
|
||||||
|
),
|
||||||
|
)
|
||||||
.lambda("tail_1")
|
.lambda("tail_1")
|
||||||
.apply(Term::tail_list().apply(Term::var("unwrap_a")))
|
.apply(Term::tail_list().apply(Term::var("unwrap_a")))
|
||||||
.lambda("h")
|
.lambda("h")
|
||||||
.apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("unwrap_a"))))
|
.apply(
|
||||||
|
Term::var("__val")
|
||||||
|
.delayed_choose_data(
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::un_i_data().apply(Term::var("__val")),
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
)
|
||||||
|
.lambda("__val")
|
||||||
|
.apply(Term::head_list().apply(Term::var("unwrap_a"))),
|
||||||
|
),
|
||||||
|
)
|
||||||
.lambda("unwrap_a")
|
.lambda("unwrap_a")
|
||||||
.apply(Term::list_values(vec![
|
.apply(
|
||||||
|
Term::var("__val")
|
||||||
|
.delayed_choose_data(
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::list_values(vec![
|
||||||
Constant::Data(Data::integer(1.into())),
|
Constant::Data(Data::integer(1.into())),
|
||||||
Constant::Data(Data::integer(2.into())),
|
Constant::Data(Data::integer(2.into())),
|
||||||
Constant::Data(Data::integer(3.into())),
|
Constant::Data(Data::integer(3.into())),
|
||||||
])),
|
]),
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
||||||
|
)
|
||||||
|
.lambda("__val")
|
||||||
|
.apply(Term::data(Data::list(vec![
|
||||||
|
Data::integer(1.into()),
|
||||||
|
Data::integer(2.into()),
|
||||||
|
Data::integer(3.into()),
|
||||||
|
]))),
|
||||||
|
)
|
||||||
|
.lambda("expect[h,j,..]:List<Int>=a")
|
||||||
|
.apply(Term::string("expect [h, j, ..]: List<Int> = a")),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue