| 600 | |
| 601 | #[test] |
| 602 | fn test_extend_misaligned() { |
| 603 | // Test misaligned start |
| 604 | for offset in 1..65 { |
| 605 | let mut builder = BooleanBufferBuilder::new(0); |
| 606 | builder.append_n(offset, false); |
| 607 | |
| 608 | let bools: Vec<_> = (0..100).map(|i| i % 3 == 0 || i % 7 == 0).collect(); |
| 609 | unsafe { builder.extend_trusted_len(bools.clone().into_iter()) }; |
| 610 | assert_eq!(builder.len(), offset + 100); |
| 611 | |
| 612 | let finished = builder.finish(); |
| 613 | for i in 0..offset { |
| 614 | assert!(!finished.value(i)); |
| 615 | } |
| 616 | for (i, v) in bools.into_iter().enumerate() { |
| 617 | assert_eq!(finished.value(offset + i), v, "at index {}", offset + i); |
| 618 | } |
| 619 | } |
| 620 | } |
| 621 | |
| 622 | #[test] |
| 623 | fn test_extend_misaligned_end() { |