numbat_wasm_debug/
lib.rs

1#![allow(dead_code)]
2#![allow(unused_imports)]
3
4pub mod abi_json;
5mod async_data;
6mod big_int_mock;
7mod big_uint_mock;
8mod blockchain_mock;
9mod contract_map;
10mod display_util;
11mod execute_denali;
12mod ext_mock;
13
14pub use async_data::*;
15pub use big_int_mock::*;
16pub use big_uint_mock::*;
17pub use blockchain_mock::*;
18pub use contract_map::*;
19pub use display_util::*;
20pub use execute_denali::*;
21pub use ext_mock::*;
22
23#[macro_use]
24extern crate alloc;
25pub use alloc::boxed::Box;
26pub use alloc::vec::Vec;
27
28pub use std::collections::HashMap;
29
30#[cfg(test)]
31mod numbat_codec_tests {
32	use super::*;
33	use core::fmt::Debug;
34	use numbat_wasm::numbat_codec::test_util::{check_top_decode, check_top_encode};
35	use numbat_wasm::numbat_codec::*;
36
37	pub fn ser_deser_ok<V>(element: V, expected_bytes: &[u8])
38	where
39		V: TopEncode + TopDecode + PartialEq + Debug + 'static,
40	{
41		// serialize
42		let serialized_bytes = check_top_encode(&element);
43		assert_eq!(serialized_bytes.as_slice(), expected_bytes);
44
45		// deserialize
46		let deserialized: V = check_top_decode::<V>(&serialized_bytes[..]);
47		assert_eq!(deserialized, element);
48	}
49
50	#[test]
51	fn test_big_int_serialization() {
52		ser_deser_ok(RustBigInt::from(5), &[5u8]);
53		ser_deser_ok(RustBigInt::from(-5), &[251u8]);
54	}
55
56	#[test]
57	fn test_big_uint_serialization() {
58		ser_deser_ok(RustBigUint::from(5u32), &[5u8]);
59	}
60}