From 787f3452758931dca3e04cd57ffa69d76f7f8a6a Mon Sep 17 00:00:00 2001 From: Turner Date: Sun, 19 Jun 2022 22:33:24 -0700 Subject: [PATCH] Add new uplc case to test, it is failing --- .../uplc/test_data/fibonacci/fibonacci.flat | Bin 0 -> 71 bytes .../uplc/test_data/fibonacci/fibonacci.uplc | 77 ++++++++++++++++++ crates/uplc/tests/integ_tests.rs | 8 ++ 3 files changed, 85 insertions(+) create mode 100644 crates/uplc/test_data/fibonacci/fibonacci.flat create mode 100644 crates/uplc/test_data/fibonacci/fibonacci.uplc diff --git a/crates/uplc/test_data/fibonacci/fibonacci.flat b/crates/uplc/test_data/fibonacci/fibonacci.flat new file mode 100644 index 0000000000000000000000000000000000000000..0b71038fba55b856cc2e66f3a1d8c7d93445e61a GIT binary patch literal 71 zcmZQ%U@$Tc6;uvXW)NUhGG;IaGZ++rY*Qg6W8-iWh6EM{O~cup3?dC24IDjp7#k#K WH!`R+a2(({d!RwcfrCMlfe`?u!w!D{ literal 0 HcmV?d00001 diff --git a/crates/uplc/test_data/fibonacci/fibonacci.uplc b/crates/uplc/test_data/fibonacci/fibonacci.uplc new file mode 100644 index 00000000..b1683917 --- /dev/null +++ b/crates/uplc/test_data/fibonacci/fibonacci.uplc @@ -0,0 +1,77 @@ +(program + 1.0.0 + [ + (lam + i0 + [ + [ + (force + (force + (delay + (delay + (lam + f + [ + (force (delay (lam s [ s s ]))) + (lam + s + (lam + x [ [ f [ (force (delay (lam s [ s s ]))) s ] ] x ] + ) + ) + ] + ) + ) + ) + ) + ) + (lam + rec + (lam + i + [ + [ + [ + (force + (delay + (lam + b + (lam + x + (lam + y + [ + [ [ [ (force (builtin ifThenElse)) b ] x ] y ] + (con unit ()) + ] + ) + ) + ) + ) + ) + [ [ (builtin lessThanEqualsInteger) i ] (con integer 1) ] + ] + (lam u i) + ] + (lam + u + [ + [ + (builtin addInteger) + [ + rec [ [ (builtin subtractInteger) i ] (con integer 1) ] + ] + ] + [ rec [ [ (builtin subtractInteger) i ] (con integer 2) ] ] + ] + ) + ] + ) + ) + ] + i0 + ] + ) + (con integer 0) + ] +) diff --git a/crates/uplc/tests/integ_tests.rs b/crates/uplc/tests/integ_tests.rs index b99570cb..008be5dd 100644 --- a/crates/uplc/tests/integ_tests.rs +++ b/crates/uplc/tests/integ_tests.rs @@ -63,5 +63,13 @@ fn jpg() { let bytes = include_bytes!("../test_data/jpg/jpg.flat"); let code = include_str!("../test_data/jpg/jpg.uplc"); + round_trip_test(bytes, code); +} + +#[test] +fn fibonacci() { + let bytes = include_bytes!("../test_data/fibonacci/fibonacci.flat"); + let code = include_str!("../test_data/fibonacci/fibonacci.uplc"); + round_trip_test(bytes, code); } \ No newline at end of file