From e523ae63f344392a775b1eac4d85ce1bca4b9b2d Mon Sep 17 00:00:00 2001 From: microproofs Date: Mon, 22 Jan 2024 17:58:11 -0500 Subject: [PATCH] fixed some of the tests --- crates/aiken-project/src/tests/gen_uplc.rs | 273 +++++++++++++++------ 1 file changed, 196 insertions(+), 77 deletions(-) diff --git a/crates/aiken-project/src/tests/gen_uplc.rs b/crates/aiken-project/src/tests/gen_uplc.rs index 42479b05..188f62c2 100644 --- a/crates/aiken-project/src/tests/gen_uplc.rs +++ b/crates/aiken-project/src/tests/gen_uplc.rs @@ -4266,42 +4266,62 @@ fn expect_head3_no_tail() { assert_uplc( src, - Term::tail_list() - .apply(Term::var("tail_2")) + Term::var("a") .delayed_choose_list( - Term::equals_integer() - .apply(Term::var("h")) - .apply(Term::var("h")) - .delayed_if_then_else( - Term::equals_integer() - .apply(Term::var("i")) - .apply(Term::var("i")), - Term::bool(false), + Term::Error.delayed_trace(Term::var("expect[h,i,j]=a")), + Term::var("tail_1") + .delayed_choose_list( + Term::Error.delayed_trace(Term::var("expect[h,i,j]=a")), + Term::var("tail_2") + .delayed_choose_list( + Term::Error.delayed_trace(Term::var("expect[h,i,j]=a")), + Term::tail_list() + .apply(Term::var("tail_2")) + .delayed_choose_list( + Term::equals_integer() + .apply(Term::var("h")) + .apply(Term::var("h")) + .delayed_if_then_else( + Term::equals_integer() + .apply(Term::var("i")) + .apply(Term::var("i")), + Term::bool(false), + ) + .delayed_if_then_else( + Term::equals_integer() + .apply(Term::var("j")) + .apply(Term::var("j")), + Term::bool(false), + ), + Term::Error.delayed_trace(Term::var("expect[h,i,j]=a")), + ) + .lambda("j") + .apply( + Term::un_i_data() + .apply(Term::head_list().apply(Term::var("tail_2"))), + ), + ) + .lambda("tail_2") + .apply(Term::tail_list().apply(Term::var("tail_1"))) + .lambda("i") + .apply( + Term::un_i_data() + .apply(Term::head_list().apply(Term::var("tail_1"))), + ), ) - .delayed_if_then_else( - Term::equals_integer() - .apply(Term::var("j")) - .apply(Term::var("j")), - Term::bool(false), - ), - Term::Error.delayed_trace(Term::string("expect [h, i, j] = a")), + .lambda("tail_1") + .apply(Term::tail_list().apply(Term::var("a"))) + .lambda("h") + .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("a")))), ) - .lambda("j") - .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("tail_2")))) - .lambda("tail_2") - .apply(Term::tail_list().apply(Term::var("tail_1"))) - .lambda("i") - .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("tail_1")))) - .lambda("tail_1") - .apply(Term::tail_list().apply(Term::var("a"))) - .lambda("h") - .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("a")))) .lambda("a") .apply(Term::list_values(vec![ Constant::Data(Data::integer(1.into())), Constant::Data(Data::integer(2.into())), Constant::Data(Data::integer(3.into())), - ])), + ])) + .lambda(Term::var("expect[h,i,j]=a")) + .apply(Term::string("expect [h, i, j] = a")), false, ); } @@ -4318,46 +4338,115 @@ fn expect_head3_cast_data_no_tail() { assert_uplc( src, - Term::tail_list() - .apply(Term::var("tail_2")) + Term::var("tail_0") .delayed_choose_list( - Term::equals_integer() - .apply(Term::var("h")) - .apply(Term::var("h")) - .delayed_if_then_else( - Term::equals_integer() - .apply(Term::var("i")) - .apply(Term::var("i")), - Term::bool(false), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::var("tail_1") + .delayed_choose_list( + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::var("tail_2") + .delayed_choose_list( + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::tail_list() + .apply(Term::var("tail_2")) + .delayed_choose_list( + Term::equals_integer() + .apply(Term::var("h")) + .apply(Term::var("h")) + .delayed_if_then_else( + Term::equals_integer() + .apply(Term::var("i")) + .apply(Term::var("i")), + Term::bool(false), + ) + .delayed_if_then_else( + Term::equals_integer() + .apply(Term::var("j")) + .apply(Term::var("j")), + Term::bool(false), + ), + Term::Error + .delayed_trace(Term::var("expect[h,i,j]:List=a")), + ) + .lambda("j") + .apply( + Term::var("__var") + .delayed_choose_data( + Term::Error.delayed_trace(Term::var( + "expect[h,i,j]:List=a", + )), + Term::Error.delayed_trace(Term::var( + "expect[h,i,j]:List=a", + )), + Term::Error.delayed_trace(Term::var( + "expect[h,i,j]:List=a", + )), + Term::un_i_data().apply(Term::var("__var")), + Term::Error.delayed_trace(Term::var( + "expect[h,i,j]:List=a", + )), + ) + .lambda("__var") + .apply(Term::head_list().apply(Term::var("tail_2"))), + ), + ) + .lambda("tail_2") + .apply(Term::tail_list().apply(Term::var("tail_1"))) + .lambda("i") + .apply( + Term::var("__var") + .delayed_choose_data( + Term::Error + .delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::Error + .delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::Error + .delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::un_i_data().apply(Term::var("__var")), + Term::Error + .delayed_trace(Term::var("expect[h,i,j]:List=a")), + ) + .lambda("__var") + .apply(Term::head_list().apply(Term::var("tail_1"))), + ), ) - .delayed_if_then_else( - Term::equals_integer() - .apply(Term::var("j")) - .apply(Term::var("j")), - Term::bool(false), + .lambda("tail_1") + .apply(Term::tail_list().apply(Term::var("tail_0"))) + .lambda("h") + .apply( + Term::var("__var") + .delayed_choose_data( + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::un_i_data().apply(Term::var("__var")), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + ) + .lambda("__var") + .apply(Term::head_list().apply(Term::var("tail_0"))), ), - Term::Error.delayed_trace(Term::string("expect [h, i, j]: List = a")), ) - .lambda("j") - .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("tail_2")))) - .lambda("tail_2") - .apply(Term::tail_list().apply(Term::var("tail_1"))) - .lambda("i") - .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("tail_1")))) - .lambda("tail_1") - .apply(Term::tail_list().apply(Term::list_values(vec![ - Constant::Data(Data::integer(1.into())), - Constant::Data(Data::integer(2.into())), - Constant::Data(Data::integer(3.into())), - ]))) - .lambda("h") + .lambda("tail_0") .apply( - Term::un_i_data().apply(Term::head_list().apply(Term::list_values(vec![ - Constant::Data(Data::integer(1.into())), - Constant::Data(Data::integer(2.into())), - Constant::Data(Data::integer(3.into())), - ]))), - ), + Term::data(Data::list(vec![ + Data::integer(1.into()), + Data::integer(2.into()), + Data::integer(3.into()), + ])) + .delayed_choose_data( + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::list_values(vec![ + Constant::Data(Data::integer(1.into())), + Constant::Data(Data::integer(2.into())), + Constant::Data(Data::integer(3.into())), + ]), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h,i,j]:List=a")), + ), + ) + .lambda("expect[h,i,j]:List=a") + .apply(Term::string("expect [h, i, j]: List = a")), false, ); } @@ -4374,22 +4463,52 @@ fn expect_head_cast_data_no_tail() { assert_uplc( src, - Term::tail_list() - .apply(Term::var("unwrap_a")) + Term::var("tail_0") .delayed_choose_list( - Term::equals_integer() - .apply(Term::var("h")) - .apply(Term::var("h")), - Term::Error.delayed_trace(Term::string("expect [h]: List = a")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::tail_list() + .apply(Term::var("tail_0")) + .delayed_choose_list( + Term::equals_integer() + .apply(Term::var("h")) + .apply(Term::var("h")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + ) + .lambda("h") + .apply( + Term::var("__var") + .delayed_choose_data( + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::un_i_data().apply(Term::var("__var")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + ) + .lambda("__var") + .apply(Term::head_list().apply(Term::var("tail_0"))), + ), ) - .lambda("h") - .apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("unwrap_a")))) - .lambda("unwrap_a") - .apply(Term::list_values(vec![ - Constant::Data(Data::integer(1.into())), - Constant::Data(Data::integer(2.into())), - Constant::Data(Data::integer(3.into())), - ])), + .lambda("tail_0") + .apply( + Term::data(Data::list(vec![ + Data::integer(1.into()), + Data::integer(2.into()), + Data::integer(3.into()), + ])) + .delayed_choose_data( + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::list_values(vec![ + Constant::Data(Data::integer(1.into())), + Constant::Data(Data::integer(2.into())), + Constant::Data(Data::integer(3.into())), + ]), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + Term::Error.delayed_trace(Term::var("expect[h]:List=a")), + ), + ) + .lambda("expect[h]:List=a") + .apply(Term::string("expect [h]: List = a")), true, ); }