in src/metrics/cyclomatic.rs [504:554]
fn java_real_class() {
check_metrics::<JavaParser>(
"
public class Matrix { // +2 (+1 unit space)
private int[][] m = new int[5][5];
public void init() { // +1
for (int i = 0; i < m.length; i++) { // +1
for (int j = 0; j < m[i].length; j++) { // +1
m[i][j] = i * j;
}
}
}
public int compute(int i, int j) { // +1
try {
return m[i][j] / m[j][i];
} catch (ArithmeticException e) { // +1
return -1;
} catch (ArrayIndexOutOfBoundsException e) { // +1
return -2;
}
}
public void print(int result) { // +1
switch (result) {
case -1: // +1
System.out.println(\"Division by zero\");
break;
case -2: // +1
System.out.println(\"Wrong index number\");
break;
default:
System.out.println(\"The result is \" + result);
}
}
}",
"foo.java",
|metric| {
// nspace = 5 (unit, class and 3 methods)
insta::assert_json_snapshot!(
metric.cyclomatic,
@r###"
{
"sum": 11.0,
"average": 2.2,
"min": 1.0,
"max": 3.0
}"###
);
},
);
}