MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_extend

Function test_extend

arrow-buffer/src/builder/boolean.rs:580–599  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

578
579 #[test]
580 fn test_extend() {
581 let mut builder = BooleanBufferBuilder::new(0);
582 let bools = vec![true, false, true, true, false, true, true, true, false];
583 unsafe { builder.extend_trusted_len(bools.clone().into_iter()) };
584 assert_eq!(builder.len(), 9);
585 let finished = builder.finish();
586 for (i, v) in bools.into_iter().enumerate() {
587 assert_eq!(finished.value(i), v);
588 }
589
590 // Test > 64 bits
591 let mut builder = BooleanBufferBuilder::new(0);
592 let bools: Vec<_> = (0..100).map(|i| i % 3 == 0 || i % 7 == 0).collect();
593 unsafe { builder.extend_trusted_len(bools.clone().into_iter()) };
594 assert_eq!(builder.len(), 100);
595 let finished = builder.finish();
596 for (i, v) in bools.into_iter().enumerate() {
597 assert_eq!(finished.value(i), v, "at index {}", i);
598 }
599 }
600
601 #[test]
602 fn test_extend_misaligned() {

Callers

nothing calls this directly

Calls 5

extend_trusted_lenMethod · 0.80
collectMethod · 0.80
into_iterMethod · 0.45
cloneMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected