Merge branch 'test/cameligo-bytes-arithmetic' into 'dev'
[LIGO-171] Add bytes arithmetic tests to CameLIGO See merge request ligolang/ligo!174
This commit is contained in:
commit
c2333bd072
8
src/test/contracts/bytes_arithmetic.mligo
Normal file
8
src/test/contracts/bytes_arithmetic.mligo
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
let concat_op (s : bytes) : bytes =
|
||||||
|
Bytes.concat s ("7070" : bytes)
|
||||||
|
|
||||||
|
let slice_op (s : bytes) : bytes =
|
||||||
|
Bytes.slice 1p 2p s
|
||||||
|
|
||||||
|
let hasherman (s : bytes) : bytes =
|
||||||
|
Crypto.sha256 s
|
@ -283,6 +283,26 @@ let bytes_arithmetic () : unit result =
|
|||||||
let%bind () = Assert.assert_fail @@ Ast_simplified.Misc.assert_value_eq (b3 , b1) in
|
let%bind () = Assert.assert_fail @@ Ast_simplified.Misc.assert_value_eq (b3 , b1) in
|
||||||
ok ()
|
ok ()
|
||||||
|
|
||||||
|
let bytes_arithmetic_mligo () : unit result =
|
||||||
|
let%bind program = mtype_file "./contracts/bytes_arithmetic.mligo" in
|
||||||
|
let%bind foo = e_bytes "0f00" in
|
||||||
|
let%bind foototo = e_bytes "0f007070" in
|
||||||
|
let%bind toto = e_bytes "7070" in
|
||||||
|
let%bind empty = e_bytes "" in
|
||||||
|
let%bind tata = e_bytes "7a7a7a7a" in
|
||||||
|
let%bind at = e_bytes "7a7a" in
|
||||||
|
let%bind ba = e_bytes "ba" in
|
||||||
|
let%bind () = expect_eq program "concat_op" foo foototo in
|
||||||
|
let%bind () = expect_eq program "concat_op" empty toto in
|
||||||
|
let%bind () = expect_eq program "slice_op" tata at in
|
||||||
|
let%bind () = expect_fail program "slice_op" foo in
|
||||||
|
let%bind () = expect_fail program "slice_op" ba in
|
||||||
|
let%bind b1 = Run.Of_simplified.run_typed_program program "hasherman" foo in
|
||||||
|
let%bind () = expect_eq program "hasherman" foo b1 in
|
||||||
|
let%bind b3 = Run.Of_simplified.run_typed_program program "hasherman" foototo in
|
||||||
|
let%bind () = Assert.assert_fail @@ Ast_simplified.Misc.assert_value_eq (b3 , b1) in
|
||||||
|
ok ()
|
||||||
|
|
||||||
let set_arithmetic () : unit result =
|
let set_arithmetic () : unit result =
|
||||||
let%bind program = type_file "./contracts/set_arithmetic.ligo" in
|
let%bind program = type_file "./contracts/set_arithmetic.ligo" in
|
||||||
let%bind program_1 = type_file "./contracts/set_arithmetic-1.ligo" in
|
let%bind program_1 = type_file "./contracts/set_arithmetic-1.ligo" in
|
||||||
@ -1158,6 +1178,7 @@ let main = test_suite "Integration (End to End)" [
|
|||||||
test "string_arithmetic" string_arithmetic ;
|
test "string_arithmetic" string_arithmetic ;
|
||||||
test "string_arithmetic (mligo)" string_arithmetic_mligo ;
|
test "string_arithmetic (mligo)" string_arithmetic_mligo ;
|
||||||
test "bytes_arithmetic" bytes_arithmetic ;
|
test "bytes_arithmetic" bytes_arithmetic ;
|
||||||
|
test "bytes_arithmetic (mligo)" bytes_arithmetic_mligo ;
|
||||||
test "set_arithmetic" set_arithmetic ;
|
test "set_arithmetic" set_arithmetic ;
|
||||||
test "set_arithmetic (mligo)" set_arithmetic_mligo ;
|
test "set_arithmetic (mligo)" set_arithmetic_mligo ;
|
||||||
test "unit" unit_expression ;
|
test "unit" unit_expression ;
|
||||||
|
Loading…
Reference in New Issue
Block a user