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.

offset
table_case_counter.rs
Replay: real traced execution (multi-file project)
fn main() {
    let offset = 1;
    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 = 0;
    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 = 2;
    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());
}
  1. offset ← 1, cases ← [(1, 2), (3, 4), (5, 6)], passed ← 3

    1fn main() {2    let offse→ 1t = 1; //@offset=1, 0, 23    let case→ [(1, 2), (3, 4), (5, 6)]s = [(1, 2), (3, 4), (5, 6)];4    let passe→ 3d = cases.iter()5        .copied()6        .map(|(input, expected)| input + offset == expected)7        .filter(|passed| *passed)8        .count();9    println!("passed={}/{}", passed, cases.len());10}
    outputpassed=3/3
  1. offset ← 0, cases ← [(1, 2), (3, 4), (5, 6)], passed ← 0

    1fn main() {2    let offse→ 0t = 0;3    let case→ [(1, 2), (3, 4), (5, 6)]s = [(1, 2), (3, 4), (5, 6)];4    let passe→ 0d = cases.iter()5        .copied()6        .map(|(input, expected)| input + offset == expected)7        .filter(|passed| *passed)8        .count();9    println!("passed={}/{}", passed, cases.len());10}
    outputpassed=0/3
  1. offset ← 2, cases ← [(1, 2), (3, 4), (5, 6)], passed ← 0

    1fn main() {2    let offse→ 2t = 2;3    let case→ [(1, 2), (3, 4), (5, 6)]s = [(1, 2), (3, 4), (5, 6)];4    let passe→ 0d = cases.iter()5        .copied()6        .map(|(input, expected)| input + offset == expected)7        .filter(|passed| *passed)8        .count();9    println!("passed={}/{}", passed, cases.len());10}
    outputpassed=0/3
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.