Skip to content

Commit

Permalink
Add test for working set (#1164)
Browse files Browse the repository at this point in the history
  • Loading branch information
bkolad authored Nov 20, 2023
1 parent 1ae8d09 commit ba8a25d
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions module-system/sov-modules-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ sov-rollup-interface = { path = "../../rollup-interface", default-features = fal
[dev-dependencies]
proptest = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
sov-state = { path = "../sov-state", features = ["native"] }
sov-modules-api = { path = "../sov-modules-api", features = ["native"] }


[features]
Expand Down
21 changes: 21 additions & 0 deletions module-system/sov-modules-core/tests/working_set_tests.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
use sov_modules_api::default_context::DefaultContext;
use sov_modules_core::{StateReaderAndWriter, StorageKey, StorageValue, WorkingSet};
use sov_state::codec::BcsCodec;
use sov_state::ProverStorage;

#[test]
fn test_workingset_get() {
let tempdir = tempfile::tempdir().unwrap();
let path = tempdir.path();
let codec = BcsCodec {};
let storage = ProverStorage::<sov_state::DefaultStorageSpec>::with_path(path).unwrap();

let prefix = sov_modules_core::Prefix::new(vec![1, 2, 3]);
let storage_key = StorageKey::new(&prefix, &vec![4, 5, 6], &codec);
let storage_value = StorageValue::new(&vec![7, 8, 9], &codec);

let mut working_set = WorkingSet::<DefaultContext>::new(storage.clone());
working_set.set(&storage_key, storage_value.clone());

assert_eq!(Some(storage_value), working_set.get(&storage_key));
}

0 comments on commit ba8a25d

Please sign in to comment.