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

Function test_truncate

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

Source from the content-addressed store, hash-verified

520
521 #[test]
522 fn test_truncate() {
523 let b = MutableBuffer::from_iter([true, true, true, true]);
524 let mut builder = BooleanBufferBuilder::new_from_buffer(b, 2);
525 builder.advance(2);
526 let finished = builder.finish();
527 assert_eq!(finished.values(), &[0b00000011]);
528
529 let mut builder = BooleanBufferBuilder::new(10);
530 builder.append_n(5, true);
531 builder.resize(3);
532 builder.advance(2);
533 let finished = builder.finish();
534 assert_eq!(finished.values(), &[0b00000111]);
535
536 let mut builder = BooleanBufferBuilder::new(10);
537 builder.append_n(16, true);
538 assert_eq!(builder.as_slice(), &[0xFF, 0xFF]);
539 builder.truncate(20);
540 assert_eq!(builder.as_slice(), &[0xFF, 0xFF]);
541 builder.truncate(14);
542 assert_eq!(builder.as_slice(), &[0xFF, 0b00111111]);
543 builder.append(false);
544 builder.append(true);
545 assert_eq!(builder.as_slice(), &[0xFF, 0b10111111]);
546 builder.append_packed_range(0..3, &[0xFF]);
547 assert_eq!(builder.as_slice(), &[0xFF, 0b10111111, 0b00000111]);
548 builder.truncate(17);
549 assert_eq!(builder.as_slice(), &[0xFF, 0b10111111, 0b00000001]);
550 builder.append_packed_range(0..2, &[2]);
551 assert_eq!(builder.as_slice(), &[0xFF, 0b10111111, 0b0000101]);
552 builder.truncate(8);
553 assert_eq!(builder.as_slice(), &[0xFF]);
554 builder.resize(14);
555 assert_eq!(builder.as_slice(), &[0xFF, 0x00]);
556 builder.truncate(0);
557 assert_eq!(builder.as_slice(), &[]);
558 }
559
560 #[test]
561 fn test_boolean_builder_increases_buffer_len() {

Callers

nothing calls this directly

Calls 8

append_packed_rangeMethod · 0.80
from_iterFunction · 0.70
advanceMethod · 0.45
finishMethod · 0.45
append_nMethod · 0.45
resizeMethod · 0.45
truncateMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected