Skip to content

Commit

Permalink
StaticApi in static_buffer_ref_test
Browse files Browse the repository at this point in the history
  • Loading branch information
andrei-marinica committed Jul 11, 2023
1 parent e984072 commit 2fe96f6
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions framework/scenario/tests/static_buffer_ref_test.rs
Original file line number Diff line number Diff line change
@@ -1,52 +1,48 @@
use multiversx_sc::types::{LockableStaticBuffer, StaticBufferRef};
use multiversx_sc_scenario::api::DebugApi;
use multiversx_sc_scenario::api::StaticApi;

#[test]
fn test_try_extend_from_slice() {
let _ = DebugApi::dummy();
let mut s = StaticBufferRef::<DebugApi>::try_new(b"z").unwrap();
let mut s = StaticBufferRef::<StaticApi>::try_new(b"z").unwrap();
assert!(s.try_extend_from_slice(b"abc"));
assert!(s.try_extend_from_slice(b"def"));
assert!(s.contents_eq(b"zabcdef"));
}

#[test]
fn test_lock_unlock() {
let _ = DebugApi::dummy();
{
let s = StaticBufferRef::<DebugApi>::try_new(b"first").unwrap();
let s = StaticBufferRef::<StaticApi>::try_new(b"first").unwrap();
assert!(s.contents_eq(b"first"));
// should unlock here
}

let s = StaticBufferRef::<DebugApi>::try_new(b"another").unwrap();
assert!(StaticBufferRef::<DebugApi>::try_new(b"no, locked").is_none());
let s = StaticBufferRef::<StaticApi>::try_new(b"another").unwrap();
assert!(StaticBufferRef::<StaticApi>::try_new(b"no, locked").is_none());
assert!(s.contents_eq(b"another"));
}

#[test]
fn test_extend_past_buffer_limits() {
let _ = DebugApi::dummy();
let mut s = StaticBufferRef::<DebugApi>::try_new(&[]).unwrap();
let mut s = StaticBufferRef::<StaticApi>::try_new(&[]).unwrap();
assert!(s.try_extend_from_slice(&[22; LockableStaticBuffer::capacity() - 1]));
assert!(s.try_extend_from_slice(&[33; 1]));
assert!(!s.try_extend_from_slice(&[44; 1]));
}

fn new_should_fail() {
let buffer_option = StaticBufferRef::<DebugApi>::try_new(b"test");
let buffer_option = StaticBufferRef::<StaticApi>::try_new(b"test");
assert!(buffer_option.is_none());
}

fn new_should_succeed() {
let buffer_option = StaticBufferRef::<DebugApi>::try_new(b"test");
let buffer_option = StaticBufferRef::<StaticApi>::try_new(b"test");
assert!(buffer_option.is_some());
}

#[test]
fn test_lock_2() {
let _ = DebugApi::dummy();
let buffer_option = StaticBufferRef::<DebugApi>::try_new(b"locking_test");
let buffer_option = StaticBufferRef::<StaticApi>::try_new(b"locking_test");
new_should_fail();
assert!(buffer_option.is_some());
let s1_buffer = buffer_option.unwrap();
Expand Down

0 comments on commit 2fe96f6

Please sign in to comment.