-#[test]
-fn test_entry() {
- #[deriving(Show, PartialEq)] struct A(int);
- #[deriving(Show, PartialEq)] struct B(int);
- #[deriving(Show, PartialEq)] struct C(int);
- #[deriving(Show, PartialEq)] struct D(int);
- #[deriving(Show, PartialEq)] struct E(int);
- #[deriving(Show, PartialEq)] struct F(int);
- #[deriving(Show, PartialEq)] struct J(int);
-
- let mut map: AnyMap = AnyMap::new();
- assert_eq!(map.insert(A(10)), None);
- assert_eq!(map.insert(B(20)), None);
- assert_eq!(map.insert(C(30)), None);
- assert_eq!(map.insert(D(40)), None);
- assert_eq!(map.insert(E(50)), None);
- assert_eq!(map.insert(F(60)), None);
-
- // Existing key (insert)
- match map.entry::<A>() {
- Entry::Vacant(_) => unreachable!(),
- Entry::Occupied(mut view) => {
- assert_eq!(view.get(), &A(10));
- assert_eq!(view.set(A(100)), A(10));
+#[cfg(test)]
+mod tests {
+ use {Map, AnyMap, Entry};
+ use any::{Any, CloneAny};
+
+ #[derive(Clone, Debug, PartialEq)] struct A(i32);
+ #[derive(Clone, Debug, PartialEq)] struct B(i32);
+ #[derive(Clone, Debug, PartialEq)] struct C(i32);
+ #[derive(Clone, Debug, PartialEq)] struct D(i32);
+ #[derive(Clone, Debug, PartialEq)] struct E(i32);
+ #[derive(Clone, Debug, PartialEq)] struct F(i32);
+ #[derive(Clone, Debug, PartialEq)] struct J(i32);
+
+ #[test]
+ fn test_entry() {
+ let mut map: AnyMap = AnyMap::new();
+ assert_eq!(map.insert(A(10)), None);
+ assert_eq!(map.insert(B(20)), None);
+ assert_eq!(map.insert(C(30)), None);
+ assert_eq!(map.insert(D(40)), None);
+ assert_eq!(map.insert(E(50)), None);
+ assert_eq!(map.insert(F(60)), None);
+
+ // Existing key (insert)
+ match map.entry::<A>() {
+ Entry::Vacant(_) => unreachable!(),
+ Entry::Occupied(mut view) => {
+ assert_eq!(view.get(), &A(10));
+ assert_eq!(view.insert(A(100)), A(10));
+ }