MCPcopy Create free account
hub / github.com/apache/fory / small_ms

Function small_ms

rust/tests/tests/test_meta_string_resolver.rs:51–90  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

49
50#[test]
51pub fn small_ms() {
52 let mut meta_string_writer = MetaStringWriterResolver::default();
53 let mut meta_string_reader = MetaStringReaderResolver::default();
54 // test reset
55 for _ in 0..3 {
56 // write
57 let mut data = Vec::new();
58 for i in 0..20 {
59 let meta_string = NAMESPACE_ENCODER.encode(&format!("s_{i}")).unwrap();
60 let rc_meta_string = Rc::from(meta_string);
61 // test cache
62 for _ in 0..3 {
63 data.push(rc_meta_string.clone());
64 }
65 }
66 let mut buffer = vec![];
67 let mut writer = Writer::from_buffer(&mut buffer);
68 for meta_string in data.iter() {
69 meta_string_writer
70 .write_meta_string_bytes(&mut writer, meta_string.clone())
71 .unwrap();
72 }
73 // read
74 let binding = writer.dump();
75 let mut reader = Reader::new(binding.as_slice());
76 let read_data: Vec<_> = (0..60)
77 .map(|_| {
78 meta_string_reader
79 .read_meta_string(&mut reader)
80 .unwrap()
81 .clone()
82 })
83 .collect();
84 for i in 0..60 {
85 assert_eq!(*data[i], read_data[i]);
86 }
87 meta_string_writer.reset();
88 meta_string_reader.reset();
89 }
90}
91
92#[test]
93pub fn big_ms() {

Callers

nothing calls this directly

Calls 8

encodeMethod · 0.65
resetMethod · 0.65
unwrapMethod · 0.45
cloneMethod · 0.45
dumpMethod · 0.45
mapMethod · 0.45
read_meta_stringMethod · 0.45

Tested by

no test coverage detected