Fixed last gen_uplc test
This commit is contained in:
parent
56ff4ec678
commit
224f31b1d7
|
@ -3759,7 +3759,7 @@ fn when_tuple_deconstruction() {
|
||||||
|
|
||||||
let otherwise_delay = &Term::var("otherwise_delayed");
|
let otherwise_delay = &Term::var("otherwise_delayed");
|
||||||
|
|
||||||
let redSpend = Term::var(CONSTR_INDEX_EXPOSER)
|
let red_spend = Term::var(CONSTR_INDEX_EXPOSER)
|
||||||
.apply(Term::var("__param_0"))
|
.apply(Term::var("__param_0"))
|
||||||
.as_var("subject", |subject| {
|
.as_var("subject", |subject| {
|
||||||
let subject_second_constr = Term::equals_integer()
|
let subject_second_constr = Term::equals_integer()
|
||||||
|
@ -3780,7 +3780,7 @@ fn when_tuple_deconstruction() {
|
||||||
.apply(Term::Var(subject.clone()))
|
.apply(Term::Var(subject.clone()))
|
||||||
.delayed_if_then_else(
|
.delayed_if_then_else(
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("__params_0"))
|
.apply(Term::var("__param_0"))
|
||||||
.as_var("fields", |fields| {
|
.as_var("fields", |fields| {
|
||||||
Term::unwrap_tail_or(
|
Term::unwrap_tail_or(
|
||||||
fields.clone(),
|
fields.clone(),
|
||||||
|
@ -3811,11 +3811,11 @@ fn when_tuple_deconstruction() {
|
||||||
);
|
);
|
||||||
|
|
||||||
subject_first_constr
|
subject_first_constr
|
||||||
|
})
|
||||||
.lambda("otherwise_delayed")
|
.lambda("otherwise_delayed")
|
||||||
.lambda("then_delayed")
|
.lambda("then_delayed")
|
||||||
.lambda("__param_0")
|
.lambda("__param_0")
|
||||||
.lambda(NO_INLINE)
|
.lambda(NO_INLINE);
|
||||||
});
|
|
||||||
|
|
||||||
let thing = Term::equals_integer()
|
let thing = Term::equals_integer()
|
||||||
.apply(Term::integer(0.into()))
|
.apply(Term::integer(0.into()))
|
||||||
|
@ -3851,11 +3851,116 @@ fn when_tuple_deconstruction() {
|
||||||
)
|
)
|
||||||
.lambda("otherwise_delayed")
|
.lambda("otherwise_delayed")
|
||||||
.lambda("then_delayed")
|
.lambda("then_delayed")
|
||||||
.lambda("__param_0");
|
.lambda("__param_0")
|
||||||
|
.lambda(NO_INLINE);
|
||||||
|
|
||||||
let datum: Term<Name> = Term::Error;
|
let datum = Term::var(CONSTR_INDEX_EXPOSER)
|
||||||
|
.apply(Term::var("__param_0"))
|
||||||
|
.as_var("subject", |subject| {
|
||||||
|
let subject_second_constr = Term::equals_integer()
|
||||||
|
.apply(Term::integer(1.into()))
|
||||||
|
.apply(Term::Var(subject.clone()))
|
||||||
|
.delay_true_if_then_else(
|
||||||
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
|
.apply(Term::var("__param_0"))
|
||||||
|
.delay_empty_choose_list(
|
||||||
|
Term::var("then_delayed").force(),
|
||||||
|
otherwise_delay.clone(),
|
||||||
|
),
|
||||||
|
otherwise_delay.clone(),
|
||||||
|
);
|
||||||
|
|
||||||
assert_uplc(src, Term::Error, false);
|
let subject_first_constr = Term::equals_integer()
|
||||||
|
.apply(Term::integer(0.into()))
|
||||||
|
.apply(Term::Var(subject.clone()))
|
||||||
|
.delayed_if_then_else(
|
||||||
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
|
.apply(Term::var("__param_0"))
|
||||||
|
.as_var("fields", |fields| {
|
||||||
|
Term::unwrap_tail_or(
|
||||||
|
fields.clone(),
|
||||||
|
|after_fields| {
|
||||||
|
Term::head_list().apply(Term::Var(fields)).as_var(
|
||||||
|
"head",
|
||||||
|
|head| {
|
||||||
|
Term::choose_data_constr(
|
||||||
|
head,
|
||||||
|
|field_0| {
|
||||||
|
after_fields
|
||||||
|
.delay_empty_choose_list(
|
||||||
|
thing
|
||||||
|
.apply(Term::var("field_0"))
|
||||||
|
.apply(
|
||||||
|
Term::var("then_delayed")
|
||||||
|
.force()
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.apply(otherwise_delay.clone()),
|
||||||
|
otherwise_delay.clone(),
|
||||||
|
)
|
||||||
|
.lambda("field_0")
|
||||||
|
.apply(field_0)
|
||||||
|
},
|
||||||
|
otherwise_delay,
|
||||||
|
)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
otherwise_delay,
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
subject_second_constr,
|
||||||
|
);
|
||||||
|
|
||||||
|
subject_first_constr
|
||||||
|
})
|
||||||
|
.lambda("otherwise_delayed")
|
||||||
|
.lambda("then_delayed")
|
||||||
|
.lambda("__param_0")
|
||||||
|
.lambda(NO_INLINE);
|
||||||
|
|
||||||
|
assert_uplc(
|
||||||
|
src,
|
||||||
|
Term::choose_data_constr(
|
||||||
|
Name::text("dat").into(),
|
||||||
|
|dat| {
|
||||||
|
datum
|
||||||
|
.apply(dat)
|
||||||
|
.apply(
|
||||||
|
Term::choose_data_constr(
|
||||||
|
Name::text("red").into(),
|
||||||
|
|red| {
|
||||||
|
red_spend
|
||||||
|
.apply(red)
|
||||||
|
.apply(delayed_then)
|
||||||
|
.apply(Term::var("red:RedSpend"))
|
||||||
|
},
|
||||||
|
&Term::var("red:RedSpend"),
|
||||||
|
)
|
||||||
|
.lambda("red")
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.apply(Term::var("dat:Datum"))
|
||||||
|
},
|
||||||
|
&Term::var("dat:Datum"),
|
||||||
|
)
|
||||||
|
.lambda("dat")
|
||||||
|
.constr_fields_exposer()
|
||||||
|
.lambda("red:RedSpend")
|
||||||
|
.apply(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::string("red: RedSpend"))
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.lambda("dat:Datum")
|
||||||
|
.apply(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::string("dat: Datum"))
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.constr_index_exposer(),
|
||||||
|
false,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in New Issue