in src/metrics/abc.rs [1066:1107]
fn java_for_without_variable_declaration() {
check_metrics::<JavaParser>(
"class A{
void m1() {
for (i = 0; x < y; i++) {} // +2a +1c
for (i = 0; ((x < y)); i++) {} // +2a +1c
for (i = 0; !(!(x < y)); i++) {} // +2a +1c
for (i = 0; true; i++) {} // +2a +1c
}
void m2() {
for ( ; true; ) {} // +1c
}
void m3() {
for ( ; ; ) {} // +1c (one implicit unary condition set to true)
}
}",
"foo.java",
|metric| {
// magnitude: sqrt(64 + 0 + 36) = sqrt(100)
// space count: 5 (1 unit, 1 class and 3 methods)
insta::assert_json_snapshot!(
metric.abc,
@r###"
{
"assignments": 8.0,
"branches": 0.0,
"conditions": 6.0,
"magnitude": 10.0,
"assignments_average": 1.6,
"branches_average": 0.0,
"conditions_average": 1.2,
"assignments_min": 0.0,
"assignments_max": 8.0,
"branches_min": 0.0,
"branches_max": 0.0,
"conditions_min": 0.0,
"conditions_max": 4.0
}"###
);
},
);
}