Skip to content

Commit 1d9a06e

Browse files
Add test for int_format_into feature
1 parent c91e3b3 commit 1d9a06e

File tree

2 files changed

+27
-20
lines changed

2 files changed

+27
-20
lines changed

library/alloctests/tests/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#![feature(downcast_unchecked)]
1010
#![feature(exact_size_is_empty)]
1111
#![feature(hashmap_internals)]
12+
#![feature(int_format_into)]
1213
#![feature(linked_list_cursors)]
1314
#![feature(map_try_insert)]
1415
#![feature(pattern)]

library/alloctests/tests/num.rs

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
1-
use std::fmt::{Debug, Display};
1+
use core::fmt::NumBuffer;
22
use std::str::FromStr;
33

4-
fn assert_nb<Int: ToString + FromStr + Debug + Display + Eq>(value: Int) {
5-
let s = value.to_string();
6-
let s2 = format!("s: {}.", value);
4+
macro_rules! assert_nb {
5+
($int:ident, $value:expr) => {
6+
let value: $int = $value;
7+
let s = value.to_string();
8+
let s2 = format!("s: {}.", value);
79

8-
assert_eq!(format!("s: {s}."), s2);
9-
let Ok(ret) = Int::from_str(&s) else {
10-
panic!("failed to convert into to string");
10+
assert_eq!(format!("s: {s}."), s2);
11+
let Ok(ret) = $int::from_str(&s) else {
12+
panic!("failed to convert into to string");
13+
};
14+
assert_eq!(ret, value);
15+
16+
let mut buffer = NumBuffer::<$int>::new();
17+
assert_eq!(value.format_into(&mut buffer), s.as_str());
1118
};
12-
assert_eq!(ret, value);
1319
}
1420

1521
macro_rules! uint_to_s {
1622
($($fn_name:ident, $int:ident,)+) => {
1723
$(
1824
#[test]
1925
fn $fn_name() {
20-
assert_nb::<$int>($int::MIN);
21-
assert_nb::<$int>($int::MAX);
22-
assert_nb::<$int>(1);
23-
assert_nb::<$int>($int::MIN / 2);
24-
assert_nb::<$int>($int::MAX / 2);
26+
assert_nb!($int, $int::MIN);
27+
assert_nb!($int, $int::MAX);
28+
assert_nb!($int, 1);
29+
assert_nb!($int, $int::MIN / 2);
30+
assert_nb!($int, $int::MAX / 2);
2531
}
2632
)+
2733
}
@@ -31,13 +37,13 @@ macro_rules! int_to_s {
3137
$(
3238
#[test]
3339
fn $fn_name() {
34-
assert_nb::<$int>($int::MIN);
35-
assert_nb::<$int>($int::MAX);
36-
assert_nb::<$int>(1);
37-
assert_nb::<$int>(0);
38-
assert_nb::<$int>(-1);
39-
assert_nb::<$int>($int::MIN / 2);
40-
assert_nb::<$int>($int::MAX / 2);
40+
assert_nb!($int, $int::MIN);
41+
assert_nb!($int, $int::MAX);
42+
assert_nb!($int, 1);
43+
assert_nb!($int, 0);
44+
assert_nb!($int, -1);
45+
assert_nb!($int, $int::MIN / 2);
46+
assert_nb!($int, $int::MAX / 2);
4147
}
4248
)+
4349
}

0 commit comments

Comments
 (0)