()
| 299 | |
| 300 | #[test] |
| 301 | fn interface_dependency() { |
| 302 | let iface = make_class("MyInterface"); |
| 303 | let mut c = make_class("MyClass"); |
| 304 | c.interfaces = vec![crate::atom::atom("MyInterface")]; |
| 305 | |
| 306 | let classes = vec![ |
| 307 | ("MyClass".to_string(), &c), |
| 308 | ("MyInterface".to_string(), &iface), |
| 309 | ]; |
| 310 | |
| 311 | let sorted = toposort_classes(classes.into_iter()); |
| 312 | |
| 313 | let pos_i = sorted.iter().position(|s| s == "MyInterface").unwrap(); |
| 314 | let pos_c = sorted.iter().position(|s| s == "MyClass").unwrap(); |
| 315 | |
| 316 | assert!(pos_i < pos_c, "MyInterface must come before MyClass"); |
| 317 | } |
| 318 | |
| 319 | #[test] |
| 320 | fn mixin_dependency() { |
nothing calls this directly
no test coverage detected