MCPcopy Create free account
hub / github.com/hashintel/hash / encode_decode_multiple_items

Function encode_decode_multiple_items

libs/@local/codec/src/bytes.rs:284–322  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

282
283 #[test]
284 fn encode_decode_multiple_items() {
285 // Setup
286 let test_items = vec![
287 TestItem {
288 id: 1,
289 name: "item1".to_owned(),
290 },
291 TestItem {
292 id: 2,
293 name: "item2".to_owned(),
294 },
295 TestItem {
296 id: 3,
297 name: "item3".to_owned(),
298 },
299 ];
300 let mut encoder = JsonLinesEncoder::<TestItem>::default();
301 let mut decoder = JsonLinesDecoder::<TestItem>::new();
302 let mut buffer = BytesMut::new();
303
304 // Encode all items
305 for item in &test_items {
306 encoder
307 .encode(item.clone(), &mut buffer)
308 .expect("should successfully encode");
309 }
310
311 // Decode all items
312 let mut decoded_items = Vec::new();
313 while let Some(item) = decoder
314 .decode(&mut buffer)
315 .expect("should successfully decode")
316 {
317 decoded_items.push(item);
318 }
319
320 // Verify
321 assert_eq!(test_items, decoded_items);
322 }
323
324 #[test]
325 fn decode_incomplete_data() {

Callers

nothing calls this directly

Calls 6

pushMethod · 0.65
defaultFunction · 0.50
expectMethod · 0.45
encodeMethod · 0.45
cloneMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected