()
| 109 | |
| 110 | #[test] |
| 111 | fn test_rocket_landings() { |
| 112 | let mut landings = RocketLandingInfo::new(); |
| 113 | |
| 114 | // Add a few landings. |
| 115 | let loc = MapLocation::new(Planet::Mars, 0, 0); |
| 116 | let landing = RocketLanding::new(1, loc); |
| 117 | landings.add_landing(1, landing); |
| 118 | landings.add_landing(2, landing); |
| 119 | landings.add_landing(2, landing); |
| 120 | assert_eq!(landings.landings_on(1).len(), 1); |
| 121 | assert_eq!(landings.landings_on(2).len(), 2); |
| 122 | assert_eq!(landings.landings_on(3).len(), 0); |
| 123 | |
| 124 | landings.add_landings(3, vec![landing, landing]); |
| 125 | assert_eq!(landings.landings_on(3).len(), 2); |
| 126 | |
| 127 | landings.add_landing(3, landing); |
| 128 | assert_eq!(landings.landings_on(3).len(), 3); |
| 129 | |
| 130 | landings.add_landings(2, vec![landing, landing, landing]); |
| 131 | assert_eq!(landings.landings_on(2).len(), 5); |
| 132 | |
| 133 | // Check when all landings are returned, they are ordered by round. |
| 134 | let all = landings.all(); |
| 135 | assert_eq!(all.len(), 9); |
| 136 | for i in 0..all.len() - 1 { |
| 137 | assert_lte!(all[i].0, all[i + 1].0); |
| 138 | } |
| 139 | |
| 140 | // Check all grouped. |
| 141 | let all_grouped = landings.all_grouped(); |
| 142 | assert_eq!(all_grouped.keys().len(), 3); |
| 143 | assert_eq!(all_grouped.get(&1).expect("key should exist").len(), 1); |
| 144 | assert_eq!(all_grouped.get(&2).expect("key should exist").len(), 5); |
| 145 | assert_eq!(all_grouped.get(&3).expect("key should exist").len(), 3); |
| 146 | } |
| 147 | } |
nothing calls this directly
no test coverage detected