Skip to content

Commit a260f17

Browse files
authored
test: add some utility ctx tests (#15965)
Closes #15601.
1 parent 0edc410 commit a260f17

File tree

1 file changed

+55
-3
lines changed
  • noir-projects/aztec-nr/aztec/src/test/helpers/test_environment

1 file changed

+55
-3
lines changed

noir-projects/aztec-nr/aztec/src/test/helpers/test_environment/test.nr

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,32 +198,84 @@ unconstrained fn private_context_repeats_contract_address() {
198198
assert_eq(first_address, second_address);
199199
}
200200

201+
// utility_context currently uses the _next_ block number, not the last one. This is because we actually have a single
202+
// oracle for the block number, which has a meaning that depends on the current context. Once all three contexts are
203+
// implemented as actual separate handlers we'll be able to make this test pass.
204+
// #[test]
205+
// unconstrained fn utility_context_uses_last_block_number() {
206+
// let mut env = TestEnvironment::_new();
207+
208+
// let last_block_number = env.last_block_number();
209+
210+
// env.utility_context(|context| {
211+
// assert_eq(last_block_number, context.block_number());
212+
// });
213+
// }
214+
215+
#[test]
216+
unconstrained fn utility_context_does_not_advance_block_number() {
217+
let mut env = TestEnvironment::_new();
218+
219+
let first_block_number = env.utility_context(|context| context.block_number());
220+
let second_block_number = env.utility_context(|context| context.block_number());
221+
222+
assert_eq(second_block_number, first_block_number);
223+
}
224+
225+
#[test]
226+
unconstrained fn utility_context_does_not_advance_the_timestamp() {
227+
let mut env = TestEnvironment::_new();
228+
229+
env.utility_context(|_| {});
230+
let first_timestamp = env.last_block_timestamp();
231+
env.utility_context(|_| {});
232+
let second_timestamp = env.last_block_timestamp();
233+
234+
assert_eq(second_timestamp, first_timestamp);
235+
}
236+
237+
#[test]
238+
unconstrained fn utility_context_repeats_contract_address() {
239+
let mut env = TestEnvironment::new();
240+
241+
let first_address = env.utility_context(|context| context.this_address());
242+
let second_address = env.utility_context(|context| context.this_address());
243+
244+
assert_eq(first_address, second_address);
245+
}
246+
201247
#[test]
202-
unconstrained fn private_and_public_context_share_contract_address() {
248+
unconstrained fn private_public_and_utility_context_share_default_contract_address() {
203249
let mut env = TestEnvironment::new();
204250

205251
let private_address = env.private_context(|context| context.this_address());
206252
let public_address = env.public_context(|context| context.this_address());
253+
let utility_address = env.utility_context(|context| context.this_address());
207254

208255
assert_eq(private_address, public_address);
256+
assert_eq(private_address, utility_address);
209257
}
210258

211259
#[test]
212-
unconstrained fn private_and_public_context_share_version() {
260+
unconstrained fn private_public_and_utility_context_share_default_version() {
213261
let mut env = TestEnvironment::new();
214262

215263
let private_version = env.private_context(|context| context.version());
216264
let public_version = env.public_context(|context| context.version());
265+
let utility_version = env.utility_context(|context| context.version());
217266

218267
assert_eq(private_version, public_version);
268+
assert_eq(private_version, utility_version);
219269
}
220270

221271
#[test]
222-
unconstrained fn private_and_public_context_share_chain_id() {
272+
unconstrained fn private_public_and_utility_context_share_default_chain_id() {
223273
let mut env = TestEnvironment::new();
224274

225275
let private_chain_id = env.private_context(|context| context.chain_id());
226276
let public_chain_id = env.public_context(|context| context.chain_id());
277+
let utility_chain_id = env.utility_context(|context| context.chain_id());
227278

228279
assert_eq(private_chain_id, public_chain_id);
280+
assert_eq(private_chain_id, utility_chain_id);
229281
}

0 commit comments

Comments
 (0)