update tests for new trace reduction
This commit is contained in:
parent
7a6ddc45a0
commit
a86f08c6d1
|
@ -455,8 +455,8 @@ mod tests {
|
||||||
"$ref": "#/definitions/test_module~1Input"
|
"$ref": "#/definitions/test_module~1Input"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compiledCode": "59027f010000323232323232323232222323253330084a22930a99804a491856616c696461746f722072657475726e65642066616c736500136563253330083370e90000008a99980618030020a4c2a6601292011d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153330083370e90010008a99980618030020a4c2a6601292011d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153330083370e90020008a99980618030020a4c2a6601292011d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153300949128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e74001630060033253330073370e90000008991919191919299980898098010991924c646600200200a44a66602800229309919801801980b8011bae301500132533300e3370e900000089919299980a180b0010a4c2a66022921334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375a6028002601800c2a6601e92128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e740016300c005153300e4901334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375c602200260220046eb0c03c004c03c008c034004c01401054cc02124128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e7400163005003230063754002460086ea80055cd2b9c5573aaae7955cfaba15745",
|
"compiledCode": "5901be0100003232323232323232323232322223232533300b4a22930a998062491856616c696461746f722072657475726e65642066616c7365001365632533300b3370e90000008a99980798040020a4c2a6601800e2c2a66601666e1d20020011533300f3008004149854cc03001c5854ccc02ccdc3a40080022a66601e60100082930a998060038b0a998060030b180400199299980519b87480000044c8c8c8c8c8c94ccc050c0580084c8c926323300100100522533301700114984c8cc00c00cc068008dd7180c00099299980899b87480000044c8c94ccc05cc064008526153301401216375a602e002601c00c2a660240182c601c00a2a6602201e2c6eb8c050004c050008dd618090009809001180800098038020a998058028b1803801a4928436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e740049011d4578706563746564206e6f206669656c647320666f7220436f6e737472002300737540024600a6ea80052401334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e206578706563746564005734ae7155ceaab9e5573eae855d11",
|
||||||
"hash": "ff5b503bbcd7ed5fca26e803d69c09413bef905e72575443557f5a91",
|
"hash": "a2d6e5c1e686ffe47d6ad6d4c17df246d38169545c7d66af32c5aedc",
|
||||||
"definitions": {
|
"definitions": {
|
||||||
"ByteArray": {
|
"ByteArray": {
|
||||||
"dataType": "bytes"
|
"dataType": "bytes"
|
||||||
|
@ -636,8 +636,8 @@ mod tests {
|
||||||
"$ref": "#/definitions/test_module~1Either$ByteArray_test_module~1Interval$Int"
|
"$ref": "#/definitions/test_module~1Either$ByteArray_test_module~1Interval$Int"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compiledCode": "5901fe010000323232323232323232223253330064a22930a99803a4811856616c696461746f722072657475726e65642066616c736500136563253330063370e900000089919299980618070010a4c2a660129201334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375c601800260080062a66600c66e1d200200113232533300c300e002132498c94ccc024cdc3a400000226464a66601e60220042930a99806249334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375a601e002600e0042a66601266e1d20020011533300d3007002149854cc02924011d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153300a49128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e740016300700115330094901334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016300c0013004003153300749128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e7400163004002230063754002460086ea80055cd2b9c5573aaae7955cfaba15745",
|
"compiledCode": "59016f0100003232323232323232323232223253330084a22930a99804a4811856616c696461746f722072657475726e65642066616c736500136563253330083370e900000089919299980718080010a4c2a6601600e2c6eb8c038004c01800c54ccc020cdc3a400400226464a66601c60200042649319299980599b87480000044c8c94ccc044c04c008526153300e00a16375a602200260120042a66601666e1d20020011533300f3009002149854cc0312411d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153300c007163009001153300b00716300e00130060031533009004163006002490128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e74004901334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e20657870656374656400230063754002460086ea80055cd2b9c5573aaae7955cfaba157441",
|
||||||
"hash": "f45ef7cb07467b7bd4cbad2e5feecfd30ed5194b50026aba04a6692a",
|
"hash": "6b2032fcc8875dfe34dc93e4c9709188e60734ad668a31866ff14487",
|
||||||
"definitions": {
|
"definitions": {
|
||||||
"ByteArray": {
|
"ByteArray": {
|
||||||
"dataType": "bytes"
|
"dataType": "bytes"
|
||||||
|
@ -890,8 +890,8 @@ mod tests {
|
||||||
"$ref": "#/definitions/test_module~1Expr"
|
"$ref": "#/definitions/test_module~1Expr"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compiledCode": "5901be0100003232323232323232223253330054a22930a9980324811856616c696461746f722072657475726e65642066616c736500136563323001001223253330073370e900000089919299980698078010a4c2a660149201334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016375a601a002600c0042a66600e66e1d2002001132323232533300f301100213232498cc020020008cc01c01c00c54cc0312401334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016300f001300f002300d0013006002153330073370e9002000899191919299980798088010991924c660100100046600e00e0062a660189201334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016300f001300f002300d0013006002153300849128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e740016300837540020044600a6ea80055cd2b9c5573aaae7955cfaba157441",
|
"compiledCode": "590155010000323232323232323232223253330064a22930a99803a4811856616c696461746f722072657475726e65642066616c736500136563323001001223253330083370e900000089919299980718080010a4c2a660160102c6eb4c038004c01c00854ccc020cdc3a4004002264646464a6660206024004264649319804004001198038038018a998068050b18080009808001180700098038010a99980419b87480100044c8c8c8c94ccc040c0480084c8c9263300800800233007007003153300d00a1630100013010002300e0013007002153300949128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e740016300937540020049201334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e20657870656374656400230053754002ae695ce2ab9d5573caae7d5d0aba21",
|
||||||
"hash": "dafa047eb117e2b4df02e3c3d500faf6164ffc10c6ef9405cfd77bbb",
|
"hash": "32815bdafe7e6e86659e3f73eda8f176fd8ad17aeb2bfa4b1325f6eb",
|
||||||
"definitions": {
|
"definitions": {
|
||||||
"Int": {
|
"Int": {
|
||||||
"dataType": "integer"
|
"dataType": "integer"
|
||||||
|
@ -981,8 +981,8 @@ mod tests {
|
||||||
"$ref": "#/definitions/test_module~1LinkedList$Int"
|
"$ref": "#/definitions/test_module~1LinkedList$Int"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compiledCode": "59034301000032323232323232323222232323232533300a4a22930a99805a491856616c696461746f722072657475726e65642066616c73650013656300200533232232533300c3370e9000000899192999809180a00109924c600a0022a6601e9201334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e20657870656374656400163012001300a0021533300c3370e9001000899191919299980a180b00109924c6464646600200200444a66603000229309919801801980d8011806980c8009bac3014002375c60240022a66022921334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e20657870656374656400163233760602a002602a602c0026eb0c050004c050008dd6980900098050010a99806a4928436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e740016300a00130010012232533300b3370e90000008991919192999809980a80109924c6600e00e0022a660209201334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e2065787065637465640016301300130130023370e900118071baa301100130090021533300b3370e90010008a99980798048010a4c2a660189211d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153300c49128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e74001630090010053001001223253330093370e90000008991919192999808980980109924c6600e00e0022a6601c921334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e206578706563746564001630110013011002375a601e002600e0042a66601266e1d20020011533300d3007002149854cc02924011d4578706563746564206e6f206669656c647320666f7220436f6e7374720016153300a49128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e7400163007001230063754002460086ea80055cd2b9c5573aaae7955cfaba15745",
|
"compiledCode": "59023801000032323232323232323232323222232323232533300d4a22930a998072491856616c696461746f722072657475726e65642066616c73650013656300200533232232533300f3370e900000089919299980a980b80109924c600a0022a6602401a2c602a00260180042a66601e66e1d200200113232323253330173019002132498c8c8c8cc004004008894ccc06c00452613233003003301e002300d301c0013758602e0046eb8c05400454cc05003c58c8cdd8180c000980c180c8009bac30170013017002375a602a00260180042a660200142c601800260020024464a66601c66e1d200000113232323253330163018002132498cc01c01c00454cc04c03858c058004c058008cdc3a400460226ea8c050004c02c00854ccc038cdc3a40040022a66602460160042930a998078068b0a998078048b180580080298008009119299980619b87480000044c8c8c8c94ccc050c0580084c92633007007001153301100c1630140013014002375a602400260120042a66601866e1d2002001153330103009002149854cc03402c5854cc03401c58c02400524128436f6e73747220696e646578206469646e2774206d61746368206120747970652076617269616e74004901334c6973742f5475706c652f436f6e73747220636f6e7461696e73206d6f7265206974656d73207468616e206578706563746564002300737540024600a6ea800524011d4578706563746564206e6f206669656c647320666f7220436f6e737472005734ae7155ceaab9e5573eae855d11",
|
||||||
"hash": "be815f61a39a2cb454eb24986ee22a14e5802d08ab83ea8cd4382651",
|
"hash": "1a255c216fd87dabb6b605ea72081f1138d5da6e8520cb9798a00e3a",
|
||||||
"definitions": {
|
"definitions": {
|
||||||
"Bool": {
|
"Bool": {
|
||||||
"title": "Bool",
|
"title": "Bool",
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use aiken_lang::ast::{Definition, Function, TypedFunction, TypedValidator};
|
use aiken_lang::{
|
||||||
|
ast::{Definition, Function, TypedFunction, TypedValidator},
|
||||||
|
gen_uplc::builder::{CONSTR_INDEX_MISMATCH, CONSTR_NOT_EMPTY, TOO_MANY_ITEMS},
|
||||||
|
};
|
||||||
use uplc::{
|
use uplc::{
|
||||||
ast::{Constant, Data, DeBruijn, Name, Program, Term, Type},
|
ast::{Constant, Data, DeBruijn, Name, Program, Term, Type},
|
||||||
builder::{CONSTR_FIELDS_EXPOSER, CONSTR_INDEX_EXPOSER},
|
builder::{CONSTR_FIELDS_EXPOSER, CONSTR_INDEX_EXPOSER},
|
||||||
|
@ -2846,9 +2849,7 @@ fn when_tuple_deconstruction() {
|
||||||
.apply(Term::var("red_constr_fields"))
|
.apply(Term::var("red_constr_fields"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
"List/Tuple/Constr contains more items than expected",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("field_1")
|
.lambda("field_1")
|
||||||
.apply(Term::un_i_data().apply(
|
.apply(Term::un_i_data().apply(
|
||||||
|
@ -2866,13 +2867,9 @@ fn when_tuple_deconstruction() {
|
||||||
.apply(Term::var("red"))
|
.apply(Term::var("red"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_NOT_EMPTY)),
|
||||||
"Expected no fields for Constr",
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_INDEX_MISMATCH)),
|
||||||
"Constr index didn't match a type variant",
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
|
@ -2898,9 +2895,7 @@ fn when_tuple_deconstruction() {
|
||||||
Term::unit().lambda("_").apply(
|
Term::unit().lambda("_").apply(
|
||||||
Term::var("expect_Thing").apply(Term::var("field_1")),
|
Term::var("expect_Thing").apply(Term::var("field_1")),
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
"List/Tuple/Constr contains more items than expected",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("field_1")
|
.lambda("field_1")
|
||||||
.apply(Term::head_list().apply(Term::var("dat_constr_fields")))
|
.apply(Term::head_list().apply(Term::var("dat_constr_fields")))
|
||||||
|
@ -2916,13 +2911,9 @@ fn when_tuple_deconstruction() {
|
||||||
.apply(Term::var("dat"))
|
.apply(Term::var("dat"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_NOT_EMPTY)),
|
||||||
"Expected no fields for Constr",
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_INDEX_MISMATCH)),
|
||||||
"Constr index didn't match a type variant",
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
|
@ -2939,9 +2930,7 @@ fn when_tuple_deconstruction() {
|
||||||
.apply(Term::var("field_1_constr_fields"))
|
.apply(Term::var("field_1_constr_fields"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
"List/Tuple/Constr contains more items than expected",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("idx")
|
.lambda("idx")
|
||||||
.apply(Term::un_i_data().apply(
|
.apply(Term::un_i_data().apply(
|
||||||
|
@ -2952,9 +2941,7 @@ fn when_tuple_deconstruction() {
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("field_1")),
|
.apply(Term::var("field_1")),
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_INDEX_MISMATCH)),
|
||||||
"Constr index didn't match a type variant",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("field_1")))
|
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("field_1")))
|
||||||
|
@ -2973,12 +2960,20 @@ fn when_tuple_deconstruction() {
|
||||||
.apply(Term::unconstr_data().apply(Term::var("x")))
|
.apply(Term::unconstr_data().apply(Term::var("x")))
|
||||||
.lambda("x"),
|
.lambda("x"),
|
||||||
)
|
)
|
||||||
|
.lambda(CONSTR_INDEX_MISMATCH)
|
||||||
|
.apply(Term::string("Constr index didn't match a type variant"))
|
||||||
|
.lambda(TOO_MANY_ITEMS)
|
||||||
|
.apply(Term::string(
|
||||||
|
"List/Tuple/Constr contains more items than expected",
|
||||||
|
))
|
||||||
.lambda(CONSTR_INDEX_EXPOSER)
|
.lambda(CONSTR_INDEX_EXPOSER)
|
||||||
.apply(
|
.apply(
|
||||||
Term::fst_pair()
|
Term::fst_pair()
|
||||||
.apply(Term::unconstr_data().apply(Term::var("x")))
|
.apply(Term::unconstr_data().apply(Term::var("x")))
|
||||||
.lambda("x"),
|
.lambda("x"),
|
||||||
),
|
)
|
||||||
|
.lambda(CONSTR_NOT_EMPTY)
|
||||||
|
.apply(Term::string("Expected no fields for Constr")),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -3059,7 +3054,6 @@ fn when_tuple_empty_lists() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn generic_validator_type_test() {
|
fn generic_validator_type_test() {
|
||||||
let error_string = "List/Tuple/Constr contains more items than expected";
|
|
||||||
let src = r#"
|
let src = r#"
|
||||||
type A<x> {
|
type A<x> {
|
||||||
NoA
|
NoA
|
||||||
|
@ -3116,8 +3110,14 @@ fn generic_validator_type_test() {
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("r")))
|
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("r")))
|
||||||
.delayed_if_else(Term::unit(), Term::Error.apply(Term::Error.force()).trace(Term::string("Validator returned false")))
|
.delayed_if_else(
|
||||||
.lambda("_").apply(
|
Term::unit(),
|
||||||
|
Term::Error
|
||||||
|
.apply(Term::Error.force())
|
||||||
|
.trace(Term::string("Validator returned false")),
|
||||||
|
)
|
||||||
|
.lambda("_")
|
||||||
|
.apply(
|
||||||
Term::var("__expect_A")
|
Term::var("__expect_A")
|
||||||
.lambda("__expect_A")
|
.lambda("__expect_A")
|
||||||
.apply(
|
.apply(
|
||||||
|
@ -3129,9 +3129,7 @@ fn generic_validator_type_test() {
|
||||||
.apply(Term::var("r"))
|
.apply(Term::var("r"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_NOT_EMPTY)),
|
||||||
"Expected no fields for Constr",
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::integer(1.into()))
|
.apply(Term::integer(1.into()))
|
||||||
|
@ -3144,15 +3142,12 @@ fn generic_validator_type_test() {
|
||||||
Term::var("__expect_B")
|
Term::var("__expect_B")
|
||||||
.apply(Term::var("field_B")),
|
.apply(Term::var("field_B")),
|
||||||
),
|
),
|
||||||
Term::Error
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
.trace(Term::string("List/Tuple/Constr contains more items than expected")),
|
|
||||||
)
|
)
|
||||||
.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(
|
.apply(Term::tail_list().apply(Term::var("r_fields")))
|
||||||
Term::tail_list().apply(Term::var("r_fields")),
|
|
||||||
)
|
|
||||||
.lambda("field_0")
|
.lambda("field_0")
|
||||||
.apply(
|
.apply(
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
|
@ -3160,9 +3155,8 @@ fn generic_validator_type_test() {
|
||||||
.apply(
|
.apply(
|
||||||
Term::fst_pair().apply(
|
Term::fst_pair().apply(
|
||||||
Term::unconstr_data().apply(
|
Term::unconstr_data().apply(
|
||||||
Term::head_list().apply(
|
Term::head_list()
|
||||||
Term::var("r_fields"),
|
.apply(Term::var("r_fields")),
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -3173,9 +3167,7 @@ fn generic_validator_type_test() {
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("r")),
|
.apply(Term::var("r")),
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_INDEX_MISMATCH)),
|
||||||
"Constr index didn't match a type variant",
|
|
||||||
)),
|
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
|
@ -3192,20 +3184,17 @@ fn generic_validator_type_test() {
|
||||||
.apply(Term::var("B_fields"))
|
.apply(Term::var("B_fields"))
|
||||||
.delayed_choose_list(
|
.delayed_choose_list(
|
||||||
Term::unit(),
|
Term::unit(),
|
||||||
Term::Error.trace(Term::string(error_string)),
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
)
|
)
|
||||||
.lambda("something")
|
.lambda("something")
|
||||||
.apply(
|
.apply(
|
||||||
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().apply(
|
Term::head_list().apply(Term::var("B_fields")),
|
||||||
Term::head_list()
|
|
||||||
.apply(Term::var("B_fields")),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
)
|
))
|
||||||
.delayed_if_else(Term::unit(), Term::Error),
|
.delayed_if_else(Term::unit(), Term::Error),
|
||||||
)
|
)
|
||||||
.lambda("B_fields")
|
.lambda("B_fields")
|
||||||
|
@ -3213,9 +3202,7 @@ fn generic_validator_type_test() {
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("field_B")),
|
.apply(Term::var("field_B")),
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(CONSTR_INDEX_MISMATCH)),
|
||||||
"Constr index didn't match a type variant",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("field_B")))
|
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("field_B")))
|
||||||
|
@ -3224,11 +3211,17 @@ fn generic_validator_type_test() {
|
||||||
.apply(Term::var("r")),
|
.apply(Term::var("r")),
|
||||||
)
|
)
|
||||||
.lambda("r")
|
.lambda("r")
|
||||||
.apply(
|
.apply(Term::var("r"))
|
||||||
Term::var("r"),
|
|
||||||
)
|
|
||||||
.lambda("_ctx")
|
.lambda("_ctx")
|
||||||
.lambda("r")
|
.lambda("r")
|
||||||
|
.lambda(CONSTR_NOT_EMPTY)
|
||||||
|
.apply(Term::string("Expected no fields for Constr"))
|
||||||
|
.lambda(CONSTR_INDEX_MISMATCH)
|
||||||
|
.apply(Term::string("Constr index didn't match a type variant"))
|
||||||
|
.lambda(TOO_MANY_ITEMS)
|
||||||
|
.apply(Term::string(
|
||||||
|
"List/Tuple/Constr contains more items than expected",
|
||||||
|
))
|
||||||
.lambda(CONSTR_FIELDS_EXPOSER)
|
.lambda(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(
|
.apply(
|
||||||
Term::snd_pair()
|
Term::snd_pair()
|
||||||
|
@ -3404,8 +3397,7 @@ fn record_update_output_2_vals() {
|
||||||
Data::constr(1, vec![]),
|
Data::constr(1, vec![]),
|
||||||
],
|
],
|
||||||
)))
|
)))
|
||||||
.constr_fields_exposer()
|
.constr_fields_exposer(),
|
||||||
.constr_index_exposer(),
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -3506,8 +3498,7 @@ fn record_update_output_1_val() {
|
||||||
Data::constr(1, vec![]),
|
Data::constr(1, vec![]),
|
||||||
],
|
],
|
||||||
)))
|
)))
|
||||||
.constr_fields_exposer()
|
.constr_fields_exposer(),
|
||||||
.constr_index_exposer(),
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -3604,8 +3595,7 @@ fn record_update_output_first_last_val() {
|
||||||
Data::constr(1, vec![]),
|
Data::constr(1, vec![]),
|
||||||
],
|
],
|
||||||
)))
|
)))
|
||||||
.constr_fields_exposer()
|
.constr_fields_exposer(),
|
||||||
.constr_index_exposer(),
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -3670,8 +3660,7 @@ fn list_fields_unwrap() {
|
||||||
Term::bool(true),
|
Term::bool(true),
|
||||||
Term::bool(true).if_else(Term::bool(false), Term::bool(true)),
|
Term::bool(true).if_else(Term::bool(false), Term::bool(true)),
|
||||||
)
|
)
|
||||||
.constr_fields_exposer()
|
.constr_fields_exposer(),
|
||||||
.constr_index_exposer(),
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -4898,7 +4887,6 @@ fn list_clause_with_assign2() {
|
||||||
0,
|
0,
|
||||||
vec![Data::integer(1.into())],
|
vec![Data::integer(1.into())],
|
||||||
)])))
|
)])))
|
||||||
.constr_fields_exposer()
|
|
||||||
.constr_index_exposer(),
|
.constr_index_exposer(),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
@ -4954,9 +4942,7 @@ fn opaque_value_in_datum() {
|
||||||
.apply(
|
.apply(
|
||||||
Term::unmap_data().apply(Term::snd_pair().apply(Term::var("tuple_item_0"))),
|
Term::unmap_data().apply(Term::snd_pair().apply(Term::var("tuple_item_0"))),
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
"List/Tuple/Constr contains more items than expected",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("tuple_item_0")
|
.lambda("tuple_item_0")
|
||||||
.apply(Term::head_list().apply(Term::var("val")))
|
.apply(Term::head_list().apply(Term::var("val")))
|
||||||
|
@ -5010,9 +4996,7 @@ fn opaque_value_in_datum() {
|
||||||
.lambda("pair_outer"),
|
.lambda("pair_outer"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Term::Error.trace(Term::string(
|
Term::Error.trace(Term::var(TOO_MANY_ITEMS)),
|
||||||
"List/Tuple/Constr contains more items than expected",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
.lambda("a")
|
.lambda("a")
|
||||||
.apply(
|
.apply(
|
||||||
|
@ -5065,7 +5049,11 @@ fn opaque_value_in_datum() {
|
||||||
.lambda("red")
|
.lambda("red")
|
||||||
.lambda("dat")
|
.lambda("dat")
|
||||||
.constr_fields_exposer()
|
.constr_fields_exposer()
|
||||||
.constr_index_exposer(),
|
.constr_index_exposer()
|
||||||
|
.lambda(TOO_MANY_ITEMS)
|
||||||
|
.apply(Term::string(
|
||||||
|
"List/Tuple/Constr contains more items than expected",
|
||||||
|
)),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -5162,8 +5150,7 @@ fn opaque_value_in_test() {
|
||||||
)]))
|
)]))
|
||||||
.into(),
|
.into(),
|
||||||
)]))
|
)]))
|
||||||
.constr_fields_exposer()
|
.constr_fields_exposer(),
|
||||||
.constr_index_exposer(),
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -5192,8 +5179,7 @@ fn expect_none() {
|
||||||
.apply(Term::Constant(
|
.apply(Term::Constant(
|
||||||
Constant::Data(Data::constr(1, vec![])).into(),
|
Constant::Data(Data::constr(1, vec![])).into(),
|
||||||
))
|
))
|
||||||
.constr_index_exposer()
|
.constr_index_exposer(),
|
||||||
.constr_fields_exposer(),
|
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -5400,8 +5386,8 @@ fn tuple_2_match() {
|
||||||
Term::bool(true),
|
Term::bool(true),
|
||||||
Term::bool(true).if_else(Term::bool(false), Term::bool(true)),
|
Term::bool(true).if_else(Term::bool(false), Term::bool(true)),
|
||||||
)
|
)
|
||||||
.constr_fields_exposer()
|
.constr_index_exposer()
|
||||||
.constr_index_exposer(),
|
.constr_fields_exposer(),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue