Push up test failing due to missing messages

This commit is contained in:
microproofs 2024-09-03 13:32:41 -04:00 committed by Kasey
parent 8933688c68
commit 2f33c4a8f4
1 changed files with 95 additions and 42 deletions

View File

@ -3992,13 +3992,25 @@ fn generic_validator_type_test() {
) )
}; };
let expect_void_no_trace = |target: Rc<Name>, then: Term<Name>| {
Term::equals_integer()
.apply(Term::integer(0.into()))
.apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::Var(target.clone()))))
.delayed_if_then_else(
Term::snd_pair()
.apply(Term::unconstr_data().apply(Term::Var(target)))
.delayed_choose_list(then, Term::Error),
Term::Error,
)
};
let expect_no_a = |redeemer: Rc<Name>, then_delayed: Rc<Name>| { let expect_no_a = |redeemer: Rc<Name>, then_delayed: Rc<Name>| {
Term::snd_pair() Term::snd_pair()
.apply(Term::unconstr_data().apply(Term::Var(redeemer))) .apply(Term::unconstr_data().apply(Term::Var(redeemer)))
.delayed_choose_list(Term::Var(then_delayed.clone()).force(), Term::Error) .delayed_choose_list(Term::Var(then_delayed.clone()).force(), Term::Error)
}; };
let expect_b = |target: Rc<Name>, then: Term<Name>| { let expect_b = |target: Rc<Name>, then: Term<Name>, trace: bool| {
Term::equals_integer() Term::equals_integer()
.apply(Term::integer(0.into())) .apply(Term::integer(0.into()))
.apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::Var(target.clone())))) .apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::Var(target.clone()))))
@ -4011,12 +4023,21 @@ fn generic_validator_type_test() {
Term::head_list() Term::head_list()
.apply(Term::Var(tail_id_8.clone())) .apply(Term::Var(tail_id_8.clone()))
.as_var("__val", |val| { .as_var("__val", |val| {
if trace {
expect_void( expect_void(
val, val,
Term::tail_list() Term::tail_list()
.apply(Term::Var(tail_id_8)) .apply(Term::Var(tail_id_8))
.delayed_choose_list(then.force(), Term::Error), .delayed_choose_list(then.force(), Term::Error),
) )
} else {
expect_void_no_trace(
val,
Term::tail_list()
.apply(Term::Var(tail_id_8))
.delayed_choose_list(then.force(), Term::Error),
)
}
}), }),
) )
}), }),
@ -4024,7 +4045,7 @@ fn generic_validator_type_test() {
) )
}; };
let expect_some_a = |redeemer: Rc<Name>, then_delayed: Rc<Name>| { let expect_some_a = |redeemer: Rc<Name>, then_delayed: Rc<Name>, trace: bool| {
Term::snd_pair() Term::snd_pair()
.apply(Term::unconstr_data().apply(Term::Var(redeemer))) .apply(Term::unconstr_data().apply(Term::Var(redeemer)))
.as_var("tail_id_5", |tail_id_5| { .as_var("tail_id_5", |tail_id_5| {
@ -4033,6 +4054,7 @@ fn generic_validator_type_test() {
Term::head_list() Term::head_list()
.apply(Term::Var(tail_id_5.clone())) .apply(Term::Var(tail_id_5.clone()))
.as_var("__val", |val| { .as_var("__val", |val| {
if trace {
expect_void( expect_void(
val, val,
Term::tail_list().apply(Term::Var(tail_id_5)).as_var( Term::tail_list().apply(Term::Var(tail_id_5)).as_var(
@ -4052,6 +4074,7 @@ fn generic_validator_type_test() {
expect_b( expect_b(
val, val,
Term::Var(then_delayed), Term::Var(then_delayed),
trace,
), ),
Term::Error, Term::Error,
) )
@ -4063,6 +4086,33 @@ fn generic_validator_type_test() {
}, },
), ),
) )
} else {
expect_void_no_trace(
val,
Term::tail_list().apply(Term::Var(tail_id_5)).as_var(
"tail_id_6",
|tail_id_6| {
Term::Var(tail_id_6.clone()).delayed_choose_list(
Term::Error,
Term::head_list()
.apply(Term::Var(tail_id_6.clone()))
.as_var("__val", |val| {
Term::tail_list()
.apply(Term::Var(tail_id_6))
.delayed_choose_list(
expect_b(
val,
Term::Var(then_delayed),
trace,
),
Term::Error,
)
}),
)
},
),
)
}
}), }),
) )
}) })
@ -4085,7 +4135,7 @@ fn generic_validator_type_test() {
}) })
}; };
let choose_purpose = |redeemer: Rc<Name>, purpose: Rc<Name>| { let choose_purpose = |redeemer: Rc<Name>, purpose: Rc<Name>, trace: bool| {
Term::equals_integer() Term::equals_integer()
.apply(Term::integer(1.into())) .apply(Term::integer(1.into()))
.apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::Var(purpose.clone())))) .apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::Var(purpose.clone()))))
@ -4111,6 +4161,7 @@ fn generic_validator_type_test() {
expect_some_a( expect_some_a(
redeemer.clone(), redeemer.clone(),
then_delayed.clone(), then_delayed.clone(),
trace,
), ),
) )
}, },
@ -4122,7 +4173,7 @@ fn generic_validator_type_test() {
) )
}; };
let validator = { let validator = |trace: bool| {
let context = "__context__"; let context = "__context__";
Term::snd_pair() Term::snd_pair()
.apply(Term::unconstr_data().apply(Term::var(context))) .apply(Term::unconstr_data().apply(Term::var(context)))
@ -4139,7 +4190,7 @@ fn generic_validator_type_test() {
Term::head_list() Term::head_list()
.apply(Term::tail_list().apply(Term::Var(tail_id_14))) .apply(Term::tail_list().apply(Term::Var(tail_id_14)))
.as_var("__purpose__", |purpose| { .as_var("__purpose__", |purpose| {
choose_purpose(redeemer, purpose) choose_purpose(redeemer, purpose, trace)
}) })
}) })
}, },
@ -4155,7 +4206,9 @@ fn generic_validator_type_test() {
.lambda(context) .lambda(context)
}; };
assert_uplc(src, validator, false, true); assert_uplc(src, validator(true), false, true);
assert_uplc(src, validator(false), false, false);
} }
#[test] #[test]