1pub use btree::TreeNode;
2pub use leetcode_test::leetcode_test;
3pub use linkedlist::ListNode;
4
5mod btree;
6mod linkedlist;
7
8#[macro_export]
10macro_rules! vec_string {
11 ($($e:expr), *) => {vec![$($e.to_owned()), *]};
12}
13
14#[macro_export]
15macro_rules! assert_eq_sorted {
16 ($left:expr, $right:expr) => ({
17 let (mut v1, mut v2) = ($left, $right);
18 v1.sort();
19 v2.sort();
20 assert_eq!(v1, v2)
21 });
22 ($left:expr, $right:expr,) => ({
23 assert_eq_sorted!($left, $right)
24 });
25 ($left:expr, $right:expr, $($arg:tt)+) => ({
26 let (mut v1, mut v2) = ($left, $right);
27 v1.sort();
28 v2.sort();
29 assert_eq!(v1, v2, $($arg)+)
30 });
31}
32
33#[cfg(test)]
34mod tests {
35 use super::{assert_eq_sorted, vec_string};
36
37 #[test]
38 fn test_vec_string() {
39 assert_eq!(vec!["a".to_owned(), "b".to_owned()], vec_string!["a", "b"]);
40 }
41
42 #[test]
43 fn assert_eq_sorted() {
44 assert_eq_sorted!(vec![1, 2], vec![2, 1]);
45 }
46}