Skip to content

Commit fa1984e

Browse files
committed
made asserts test more detailed;
added random generation of test data
1 parent 9d913ea commit fa1984e

5 files changed

Lines changed: 483 additions & 122 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ version = "0.1.0"
88
smplx-std = { version = ">=0.0.6, <0.1.0" }
99

1010
anyhow = { version = "1.0.101" }
11+
rand = { version = "0.8.6" }

simf/mock/asserts_mock.simf

Lines changed: 94 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -45,90 +45,106 @@ fn assert_none_256(val: Option<u256>) { // 10
4545
assert!(is_none::<u256>(val));
4646
}
4747

48+
// helper
4849
fn if_test_this_function(index: u8, flag: u8) -> bool {
4950
jet::eq_8(index, flag)
5051
}
5152

5253
fn main() {
53-
let flag: u8 = witness::FLAG;
54-
let ifHappyPath: bool = if_test_this_function(0, flag);
54+
let function_index: u8 = witness::FUNCTION_INDEX;
5555

56-
let some_u8: u8 = 255;
57-
let some_u16: u16 = 65535;
58-
let some_u32: u32 = 4294967295;
59-
let some_u64: u64 = 18446744073709551615;
60-
let some_u128: u128 = 340282366920938463463374607431768211455;
61-
let some_u256: u256 = 115792089237316195423570985008687907853269984665640564039457584007913129639935;
56+
let first_arg_u8: Option<u8> = witness::FIRST_ARG_U8;
57+
let second_arg_u8: Option<u8> = witness::SECOND_ARG_U8;
6258

63-
match ifHappyPath {
59+
let first_arg_u16: Option<u16> = witness::FIRST_ARG_U16;
60+
let second_arg_u16: Option<u16> = witness::SECOND_ARG_U16;
61+
62+
let first_arg_u32: Option<u32> = witness::FIRST_ARG_U32;
63+
let second_arg_u32: Option<u32> = witness::SECOND_ARG_U32;
64+
65+
let first_arg_u64: Option<u64> = witness::FIRST_ARG_U64;
66+
let second_arg_u64: Option<u64> = witness::SECOND_ARG_U64;
67+
68+
let first_arg_u128: Option<u128> = witness::FIRST_ARG_U128;
69+
let second_arg_u128: Option<u128> = witness::SECOND_ARG_U128;
70+
71+
let first_arg_u256: Option<u256> = witness::FIRST_ARG_U256;
72+
let second_arg_u256: Option<u256> = witness::SECOND_ARG_U256;
73+
74+
match if_test_this_function(0, function_index) {
75+
true => {
76+
assert_eq_8(unwrap(first_arg_u8), unwrap(second_arg_u8));
77+
},
78+
false => (),
79+
};
80+
81+
match if_test_this_function(1, function_index) {
82+
true => {
83+
assert_eq_16(unwrap(first_arg_u16), unwrap(second_arg_u16));
84+
},
85+
false => (),
86+
};
87+
88+
match if_test_this_function(2, function_index) {
89+
true => {
90+
assert_eq_32(unwrap(first_arg_u32), unwrap(second_arg_u32));
91+
},
92+
false => (),
93+
};
94+
95+
match if_test_this_function(3, function_index) {
96+
true => {
97+
assert_eq_64(unwrap(first_arg_u64), unwrap(second_arg_u64));
98+
},
99+
false => (),
100+
};
101+
102+
match if_test_this_function(4, function_index) {
103+
true => {
104+
assert_eq_256(unwrap(first_arg_u256), unwrap(second_arg_u256));
105+
},
106+
false => (),
107+
};
108+
109+
match if_test_this_function(5, function_index) {
110+
true => {
111+
assert_none_8(first_arg_u8);
112+
},
113+
false => (),
114+
};
115+
116+
match if_test_this_function(6, function_index) {
117+
true => {
118+
assert_none_16(first_arg_u16);
119+
},
120+
false => (),
121+
};
122+
123+
match if_test_this_function(7, function_index) {
124+
true => {
125+
assert_none_32(first_arg_u32);
126+
},
127+
false => (),
128+
};
129+
130+
match if_test_this_function(8, function_index) {
131+
true => {
132+
assert_none_64(first_arg_u64);
133+
},
134+
false => (),
135+
};
136+
137+
match if_test_this_function(9, function_index) {
138+
true => {
139+
assert_none_128(first_arg_u128);
140+
},
141+
false => (),
142+
};
143+
144+
match if_test_this_function(10, function_index) {
64145
true => {
65-
assert_eq8(some_u8, some_u8);
66-
assert_eq16(some_u16, some_u16);
67-
assert_eq32(some_u32, some_u32);
68-
assert_eq64(some_u64, some_u64);
69-
assert_eq256(some_u256, some_u256);
70-
71-
assert_none8(None);
72-
assert_none16(None);
73-
assert_none32(None);
74-
assert_none64(None);
75-
assert_none128(None);
76-
assert_none256(None);
77-
}, false => {
78-
match if_test_this_function(1, flag) {
79-
true => assert_eq8(1, 2),
80-
false => (),
81-
};
82-
83-
match if_test_this_function(2, flag) {
84-
true => assert_eq16(1, 2),
85-
false => (),
86-
};
87-
88-
match if_test_this_function(3, flag) {
89-
true => assert_eq32(1, 2),
90-
false => (),
91-
};
92-
93-
match if_test_this_function(4, flag) {
94-
true => assert_eq64(1, 2),
95-
false => (),
96-
};
97-
98-
match if_test_this_function(5, flag) {
99-
true => assert_eq256(1, 2),
100-
false => (),
101-
};
102-
103-
match if_test_this_function(6, flag) {
104-
true => assert_none8(Some(some_u8)),
105-
false => (),
106-
};
107-
108-
match if_test_this_function(7, flag) {
109-
true => assert_none16(Some(some_u16)),
110-
false => (),
111-
};
112-
113-
match if_test_this_function(8, flag) {
114-
true => assert_none32(Some(some_u32)),
115-
false => (),
116-
};
117-
118-
match if_test_this_function(9, flag) {
119-
true => assert_none64(Some(some_u64)),
120-
false => (),
121-
};
122-
123-
match if_test_this_function(10, flag) {
124-
true => assert_none128(Some(some_u128)),
125-
false => (),
126-
};
127-
128-
match if_test_this_function(11, flag) {
129-
true => assert_none256(Some(some_u256)),
130-
false => (),
131-
};
132-
}
133-
}
146+
assert_none_256(first_arg_u256);
147+
},
148+
false => (),
149+
};
134150
}

0 commit comments

Comments
 (0)