Initial commit
This commit is contained in:
@ -0,0 +1,37 @@
|
||||
#[macro_export]
|
||||
#[cfg(feature = "vec")]
|
||||
macro_rules! map {
|
||||
() => { std::collections::HashMap::new() };
|
||||
($($k:expr => $v:expr),* $(,)?) => {
|
||||
{
|
||||
let mut temp_map = std::collections::HashMap::new();
|
||||
$(
|
||||
temp_map.insert($k, $v);
|
||||
)*
|
||||
temp_map
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#[cfg(all(test, feature = "vec"))]
|
||||
mod tests {
|
||||
use std::collections::HashMap;
|
||||
|
||||
#[test]
|
||||
fn test_empty_map() {
|
||||
let map: HashMap<usize, usize> = map!();
|
||||
assert_eq!(map.len(), 0);
|
||||
}
|
||||
#[test]
|
||||
fn test_map() {
|
||||
let map = map! {
|
||||
"one" => 1,
|
||||
"two" => 2,
|
||||
"three" => 3,
|
||||
};
|
||||
assert_eq!(map.len(), 3);
|
||||
assert_eq!(map.get("one"), Some(&1));
|
||||
assert_eq!(map.get("two"), Some(&2));
|
||||
assert_eq!(map.get("three"), Some(&3));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user