A table of input and expected pairs can be run through one expression to produce a compact pass count.

Program

Play the program to choose an offset and count how many table rows pass.

table_case_counter.rs
fn main() {
    let offset = ;
    let cases = [(1, 2), (3, 4), (5, 6)];
    let passed = cases.iter()
        .copied()
        .map(|(input, expected)| input + offset == expected)
        .filter(|passed| *passed)
        .count();
    println!("passed={}/{}", passed, cases.len());
}
fn main() {
    let offset = ;
    let cases = [(1, 2), (3, 4), (5, 6)];
    let passed = cases.iter()
        .copied()
        .map(|(input, expected)| input + offset == expected)
        .filter(|passed| *passed)
        .count();
    println!("passed={}/{}", passed, cases.len());
}
fn main() {
    let offset = ;
    let cases = [(1, 2), (3, 4), (5, 6)];
    let passed = cases.iter()
        .copied()
        .map(|(input, expected)| input + offset == expected)
        .filter(|passed| *passed)
        .count();
    println!("passed={}/{}", passed, cases.len());
}
table cases Each tuple holds one input and expected output.
map The `map` expression converts each row into a pass/fail boolean.
count Filtering true booleans gives the number of passing rows.