use crate::{
engine::off_chain::impls::TopicsBuilder,
topics::TopicsBuilderBackend,
Result,
};
#[test]
fn topics_builder() -> Result<()> {
crate::test::run_test::<crate::DefaultEnvironment, _>(|_| {
let mut builder = TopicsBuilder::default();
TopicsBuilderBackend::<crate::DefaultEnvironment>::push_topic(&mut builder, &13);
TopicsBuilderBackend::<crate::DefaultEnvironment>::push_topic(&mut builder, &17);
assert_eq!(builder.topics.len(), 2);
let topics_len_compact = &scale::Compact(2u32);
let topics_len_encoded = scale::Encode::encode(&topics_len_compact);
let output = TopicsBuilderBackend::<crate::DefaultEnvironment>::output(builder);
#[rustfmt::skip]
let expected = vec![topics_len_encoded[0], 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
assert_eq!(output, expected);
Ok(())
})
}