in src/metrics/wmc.rs [431:476]
fn java_nested_anonymous_inner_classes() {
check_metrics::<JavaParser>(
"abstract class AbstractClass{ // wmc = 2
abstract void m1(); // +1
abstract void m2(); // +1
}
public class TopLevelClass{ // wmc = 6
public void m(){ // +1
AbstractClass ac1 = new AbstractClass() {
void m1() { // +1
for (int i = 0; i < 5; i++) { // +1
System.out.println(\"Test 1: \" + i);
}
}
void m2() { // +1
AbstractClass ac2 = new AbstractClass() {
void m1() { // +1
System.out.println(\"Test A\");
}
void m2() { // +1
System.out.println(\"Test B\");
}
};
ac2.m2();
System.out.println(\"Test 2\");
}
};
ac1.m1();
}
}",
"foo.java",
|metric| {
// 2 classes (2 + 6)
insta::assert_json_snapshot!(
metric.wmc,
@r###"
{
"classes": 8.0,
"interfaces": 0.0,
"total": 8.0
}"###
);
},
);
}