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

Function big_ms

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

Source from the content-addressed store, hash-verified

91
92#[test]
93pub fn big_ms() {
94 let long_string = "a".repeat(50);
95 let mut meta_string_writer = MetaStringWriterResolver::default();
96 let mut meta_string_reader = MetaStringReaderResolver::default();
97 // test reset
98 for _ in 0..3 {
99 // write
100 let mut data = Vec::new();
101 for i in 0..20 {
102 let meta_string = NAMESPACE_ENCODER
103 .encode(&format!("{long_string}_{i}"))
104 .unwrap();
105 let rc_meta_string = Rc::from(meta_string);
106 // test cache
107 for _ in 0..3 {
108 data.push(rc_meta_string.clone());
109 }
110 }
111 let mut buffer = vec![];
112 let mut writer = Writer::from_buffer(&mut buffer);
113 for meta_string in data.iter() {
114 meta_string_writer
115 .write_meta_string_bytes(&mut writer, meta_string.clone())
116 .unwrap();
117 }
118 // read
119 let binding = writer.dump();
120 let mut reader = Reader::new(binding.as_slice());
121 let read_data: Vec<_> = (0..60)
122 .map(|_| {
123 meta_string_reader
124 .read_meta_string(&mut reader)
125 .unwrap()
126 .clone()
127 })
128 .collect();
129 for i in 0..60 {
130 assert_eq!(*data[i], read_data[i]);
131 }
132 meta_string_writer.reset();
133 meta_string_reader.reset();
134 }
135}

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected