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 let serialized_bytes = check_top_encode(&element);
43 assert_eq!(serialized_bytes.as_slice(), expected_bytes);
44
45 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}