()
| 283 | |
| 284 | #[test] |
| 285 | fn trait_dependency() { |
| 286 | let t = make_class("MyTrait"); |
| 287 | let mut c = make_class("MyClass"); |
| 288 | c.used_traits = vec![crate::atom::atom("MyTrait")]; |
| 289 | |
| 290 | let classes = vec![("MyClass".to_string(), &c), ("MyTrait".to_string(), &t)]; |
| 291 | |
| 292 | let sorted = toposort_classes(classes.into_iter()); |
| 293 | |
| 294 | let pos_t = sorted.iter().position(|s| s == "MyTrait").unwrap(); |
| 295 | let pos_c = sorted.iter().position(|s| s == "MyClass").unwrap(); |
| 296 | |
| 297 | assert!(pos_t < pos_c, "MyTrait must come before MyClass"); |
| 298 | } |
| 299 | |
| 300 | #[test] |
| 301 | fn interface_dependency() { |
nothing calls this directly
no test coverage detected