Skip to content

Commit e13d2a7

Browse files
luaneyedcarllerche
authored andcommitted
Use constants in bytes.rs test code (#247)
1 parent 55dfea8 commit e13d2a7

File tree

1 file changed

+35
-19
lines changed

1 file changed

+35
-19
lines changed

src/bytes.rs

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2586,35 +2586,51 @@ fn original_capacity_from_repr(repr: usize) -> usize {
25862586

25872587
#[test]
25882588
fn test_original_capacity_to_repr() {
2589-
for &cap in &[0, 1, 16, 1000] {
2590-
assert_eq!(0, original_capacity_to_repr(cap));
2591-
}
2589+
assert_eq!(original_capacity_to_repr(0), 0);
25922590

2593-
for &cap in &[1024, 1025, 1100, 2000, 2047] {
2594-
assert_eq!(1, original_capacity_to_repr(cap));
2595-
}
2591+
let max_width = 32;
25962592

2597-
for &cap in &[2048, 2049] {
2598-
assert_eq!(2, original_capacity_to_repr(cap));
2599-
}
2593+
for width in 1..(max_width + 1) {
2594+
let cap = 1 << width - 1;
2595+
2596+
let expected = if width < MIN_ORIGINAL_CAPACITY_WIDTH {
2597+
0
2598+
} else if width < MAX_ORIGINAL_CAPACITY_WIDTH {
2599+
width - MIN_ORIGINAL_CAPACITY_WIDTH
2600+
} else {
2601+
MAX_ORIGINAL_CAPACITY_WIDTH - MIN_ORIGINAL_CAPACITY_WIDTH
2602+
};
26002603

2601-
// TODO: more
2604+
assert_eq!(original_capacity_to_repr(cap), expected);
26022605

2603-
for &cap in &[65536, 65537, 68000, 1 << 17, 1 << 18, 1 << 20, 1 << 30] {
2604-
assert_eq!(7, original_capacity_to_repr(cap), "cap={}", cap);
2606+
if width > 1 {
2607+
assert_eq!(original_capacity_to_repr(cap + 1), expected);
2608+
}
2609+
2610+
// MIN_ORIGINAL_CAPACITY_WIDTH must be bigger than 7 to pass tests below
2611+
if width == MIN_ORIGINAL_CAPACITY_WIDTH + 1 {
2612+
assert_eq!(original_capacity_to_repr(cap - 24), expected - 1);
2613+
assert_eq!(original_capacity_to_repr(cap + 76), expected);
2614+
} else if width == MIN_ORIGINAL_CAPACITY_WIDTH + 2 {
2615+
assert_eq!(original_capacity_to_repr(cap - 1), expected - 1);
2616+
assert_eq!(original_capacity_to_repr(cap - 48), expected - 1);
2617+
}
26052618
}
26062619
}
26072620

26082621
#[test]
26092622
fn test_original_capacity_from_repr() {
26102623
assert_eq!(0, original_capacity_from_repr(0));
2611-
assert_eq!(1024, original_capacity_from_repr(1));
2612-
assert_eq!(1024 * 2, original_capacity_from_repr(2));
2613-
assert_eq!(1024 * 4, original_capacity_from_repr(3));
2614-
assert_eq!(1024 * 8, original_capacity_from_repr(4));
2615-
assert_eq!(1024 * 16, original_capacity_from_repr(5));
2616-
assert_eq!(1024 * 32, original_capacity_from_repr(6));
2617-
assert_eq!(1024 * 64, original_capacity_from_repr(7));
2624+
2625+
let min_cap = 1 << MIN_ORIGINAL_CAPACITY_WIDTH;
2626+
2627+
assert_eq!(min_cap, original_capacity_from_repr(1));
2628+
assert_eq!(min_cap * 2, original_capacity_from_repr(2));
2629+
assert_eq!(min_cap * 4, original_capacity_from_repr(3));
2630+
assert_eq!(min_cap * 8, original_capacity_from_repr(4));
2631+
assert_eq!(min_cap * 16, original_capacity_from_repr(5));
2632+
assert_eq!(min_cap * 32, original_capacity_from_repr(6));
2633+
assert_eq!(min_cap * 64, original_capacity_from_repr(7));
26182634
}
26192635

26202636
unsafe impl Send for Inner {}

0 commit comments

Comments
 (0)