mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-12-26 19:51:52 +03:00
Add test cases
This commit is contained in:
parent
c3b92d1a4d
commit
0792191dde
@ -0,0 +1,13 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 4]) {
|
||||
for i in 0u32..4u32 {
|
||||
assert(a[i]);
|
||||
}
|
||||
}
|
||||
}
|
10
tests/tests/compiler/array/array_access.leo
Normal file
10
tests/tests/compiler/array/array_access.leo
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 8]) -> bool {
|
||||
return a[0];
|
||||
}
|
||||
}
|
19
tests/tests/compiler/array/array_in_composite_data_types.leo
Normal file
19
tests/tests/compiler/array/array_in_composite_data_types.leo
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
struct bar {
|
||||
data: [u8; 8],
|
||||
}
|
||||
|
||||
record floo {
|
||||
owner: address,
|
||||
data: [u8; 8],
|
||||
}
|
||||
|
||||
transition foo(a: [[bool; 8]; 8]) -> bool {
|
||||
return a[0][0];
|
||||
}
|
||||
}
|
14
tests/tests/compiler/array/array_in_finalize.leo
Normal file
14
tests/tests/compiler/array/array_in_finalize.leo
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 8]) {
|
||||
return then finalize a;
|
||||
}
|
||||
|
||||
finalize foo(a: [bool; 8]) {
|
||||
assert_eq(true, true);
|
||||
}
|
||||
}
|
22
tests/tests/compiler/array/array_in_function_signature.leo
Normal file
22
tests/tests/compiler/array/array_in_function_signature.leo
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 8]) -> bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
transition bar(a: [bool; 8]) -> [bool; 8] {
|
||||
return a;
|
||||
}
|
||||
|
||||
function baz(a: [bool; 8]) -> bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
function qux(a: [bool; 8]) -> [bool; 8] {
|
||||
return a;
|
||||
}
|
||||
}
|
10
tests/tests/compiler/array/array_initialization.leo
Normal file
10
tests/tests/compiler/array/array_initialization.leo
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition bar(a: bool) -> [bool; 8] {
|
||||
return [a, a, a, a, a, a, a, a];
|
||||
}
|
||||
}
|
14
tests/tests/compiler/array/array_initialization_fail.leo
Normal file
14
tests/tests/compiler/array/array_initialization_fail.leo
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition bar(a: bool) -> [bool; 8] {
|
||||
return [a, a, a, a, a, a, a];
|
||||
}
|
||||
|
||||
transition foo() -> [u8; 8] {
|
||||
return [1u8, 2u8, 3u8, 4u8, 5u8, 6u8, 7u8, 8u32];
|
||||
}
|
||||
}
|
15
tests/tests/compiler/array/array_of_records.leo
Normal file
15
tests/tests/compiler/array/array_of_records.leo
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
record bar {
|
||||
owner: address,
|
||||
data: u8,
|
||||
}
|
||||
|
||||
transition foo(a: [bar; 8]) -> u8 {
|
||||
return a[0].data;
|
||||
}
|
||||
}
|
14
tests/tests/compiler/array/array_of_structs.leo
Normal file
14
tests/tests/compiler/array/array_of_structs.leo
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
struct bar {
|
||||
data: u8,
|
||||
}
|
||||
|
||||
transition foo(a: [bar; 8]) -> u8 {
|
||||
return a[0].data;
|
||||
}
|
||||
}
|
14
tests/tests/compiler/array/array_size_limits.leo
Normal file
14
tests/tests/compiler/array/array_size_limits.leo
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 1]) -> bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
transition bar(a: [bool; 32]) -> bool {
|
||||
return true;
|
||||
}
|
||||
}
|
10
tests/tests/compiler/array/array_too_large_fail.leo
Normal file
10
tests/tests/compiler/array/array_too_large_fail.leo
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 33]) -> bool {
|
||||
return true;
|
||||
}
|
||||
}
|
10
tests/tests/compiler/array/array_too_small_fail.leo
Normal file
10
tests/tests/compiler/array/array_too_small_fail.leo
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 0]) -> bool {
|
||||
return true;
|
||||
}
|
||||
}
|
10
tests/tests/compiler/array/array_variable_access_fail.leo
Normal file
10
tests/tests/compiler/array/array_variable_access_fail.leo
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Pass
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
transition foo(a: [bool; 8], index: u32) -> bool {
|
||||
return a[index];
|
||||
}
|
||||
}
|
35
tests/tests/compiler/structs/cyclic_structs_four_fail.leo
Normal file
35
tests/tests/compiler/structs/cyclic_structs_four_fail.leo
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
namespace: Compile
|
||||
expectation: Fail
|
||||
*/
|
||||
|
||||
program test.aleo {
|
||||
struct Foo {
|
||||
foo: [Foo; 1],
|
||||
}
|
||||
|
||||
struct Bar {
|
||||
baz: [Baz, 2],
|
||||
}
|
||||
|
||||
struct Baz {
|
||||
bar: [Bar, 3],
|
||||
}
|
||||
|
||||
struct One {
|
||||
two: [Two, 2],
|
||||
}
|
||||
|
||||
struct Two {
|
||||
three: [Three, 3],
|
||||
four: [Four, 4],
|
||||
}
|
||||
|
||||
struct Three {
|
||||
one: [One, 1],
|
||||
}
|
||||
|
||||
struct Four {
|
||||
one: [One, 1],
|
||||
}
|
||||
}
|
24
tests/tests/execution/array_sum.leo
Normal file
24
tests/tests/execution/array_sum.leo
Normal file
@ -0,0 +1,24 @@
|
||||
/*
|
||||
namespace: Execute
|
||||
expectation: Pass
|
||||
cases:
|
||||
sum_manually:
|
||||
- input: ["[1u64, 2u64, 3u64, 4u64]"]
|
||||
sum_with_loop:
|
||||
- input: ["[1u64, 2u64, 3u64, 4u64]"]
|
||||
*/
|
||||
|
||||
|
||||
program test.aleo {
|
||||
transition sum_manually(a: [u64; 4]) -> u64 {
|
||||
return a[0] + a[1] + a[2] + a[3];
|
||||
}
|
||||
|
||||
transition sum_with_loop(a: [u64; 4]) -> u64 {
|
||||
let sum: u64 = 0u64;
|
||||
for i in 0u8..4u8 {
|
||||
sum += a[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user