| 217 | |
| 218 | #[test] |
| 219 | fn basic() { |
| 220 | let r0 = E(0); |
| 221 | let r1 = E(1); |
| 222 | let r2 = E(2); |
| 223 | let mut m = EntitySet::new(); |
| 224 | |
| 225 | let v: Vec<E> = m.keys().collect(); |
| 226 | assert_eq!(v, []); |
| 227 | assert!(m.is_empty()); |
| 228 | |
| 229 | m.insert(r2); |
| 230 | m.insert(r1); |
| 231 | |
| 232 | assert!(!m.contains(r0)); |
| 233 | assert!(m.contains(r1)); |
| 234 | assert!(m.contains(r2)); |
| 235 | assert!(!m.contains(E(3))); |
| 236 | assert!(!m.is_empty()); |
| 237 | |
| 238 | let v: Vec<E> = m.keys().collect(); |
| 239 | assert_eq!(v, [r0, r1, r2]); |
| 240 | |
| 241 | assert!(!m.contains(E(3))); |
| 242 | assert!(!m.contains(E(4))); |
| 243 | assert!(!m.contains(E(8))); |
| 244 | assert!(!m.contains(E(15))); |
| 245 | assert!(!m.contains(E(19))); |
| 246 | |
| 247 | m.insert(E(8)); |
| 248 | m.insert(E(15)); |
| 249 | assert!(!m.contains(E(3))); |
| 250 | assert!(!m.contains(E(4))); |
| 251 | assert!(m.contains(E(8))); |
| 252 | assert!(!m.contains(E(9))); |
| 253 | assert!(!m.contains(E(14))); |
| 254 | assert!(m.contains(E(15))); |
| 255 | assert!(!m.contains(E(16))); |
| 256 | assert!(!m.contains(E(19))); |
| 257 | assert!(!m.contains(E(20))); |
| 258 | assert!(!m.contains(E(u32::MAX))); |
| 259 | |
| 260 | m.clear(); |
| 261 | assert!(m.is_empty()); |
| 262 | } |
| 263 | |
| 264 | #[test] |
| 265 | fn pop_ordered() { |