in src/metrics/wmc.rs [164:220]
fn java_single_class() {
check_metrics::<JavaParser>(
"public class Example { // wmc = 13
public boolean m1(boolean a, boolean b) { // +1
boolean r = false;
if (a && b == a || b) { // +3
r = true;
}
return r;
}
public boolean m2(int n) { // +1
for (int i = 0; i < n; i++) { // +1
int j = n;
while (j > i) { // +1
j--;
}
}
return (n % 2 == 0) ? true : false; // +1
}
public int m3(int x, int y, int z) { // +1
int ret;
try {
z = x/y + y/x;
} catch (ArithmeticException e) { // +1
z = (x == 0) ? -1 : -2; // +1
}
switch (z) {
case -1: // +1
ret = y * y;
break;
case -2: // +1
ret = x * x;
break;
default:
ret = x + y;
}
return ret;
}
}",
"foo.java",
|metric| {
// 1 class
insta::assert_json_snapshot!(
metric.wmc,
@r###"
{
"classes": 13.0,
"interfaces": 0.0,
"total": 13.0
}"###
);
},
);
}