leetcode_prelude/
lib.rs

1pub use btree::TreeNode;
2pub use leetcode_test::leetcode_test;
3pub use linkedlist::ListNode;
4
5mod btree;
6mod linkedlist;
7
8/// Create a Vec<String>
9#[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}