Run several checks and count how many pass.

count-passes Looping over a list of inputs and tallying the ones that satisfy a condition gives a simple pass count out of the total.

Counting Passes

threshold
CountPasses.scala
Replay: real traced execution (multi-file project)
object Main {
  def isEven(n: Int): Boolean = {
    n % 2 == 0
  }

  def main(args: Array[String]): Unit = {
    val threshold = 0
    val inputs = List(2, 3, 4, 5, 6)
    var passes = 0
    for (n <- inputs) {
      if (isEven(n) && n > threshold) {
        passes = passes + 1
      }
    }

    println("total=" + inputs.length)
    println("passes=" + passes)
  }
}
object Main {
  def isEven(n: Int): Boolean = {
    n % 2 == 0
  }

  def main(args: Array[String]): Unit = {
    val threshold = 2
    val inputs = List(2, 3, 4, 5, 6)
    var passes = 0
    for (n <- inputs) {
      if (isEven(n) && n > threshold) {
        passes = passes + 1
      }
    }

    println("total=" + inputs.length)
    println("passes=" + passes)
  }
}
object Main {
  def isEven(n: Int): Boolean = {
    n % 2 == 0
  }

  def main(args: Array[String]): Unit = {
    val threshold = 4
    val inputs = List(2, 3, 4, 5, 6)
    var passes = 0
    for (n <- inputs) {
      if (isEven(n) && n > threshold) {
        passes = passes + 1
      }
    }

    println("total=" + inputs.length)
    println("passes=" + passes)
  }
}
  1. threshold ← 0, inputs ← List(2, 3, 4, 5, 6), passes ← 0

    6def main(args: Array[String]): Unit = {7  val threshold→ 0 = 0 //@threshold=2, 48  val inputs→ List(2, 3, 4, 5, 6) = List(2, 3, 4, 5, 6)9  var passes→ 0 = 010  for (n <- inputs) {11    if (isEven(n) && n > threshold) {
  2. for (n <- inputs)

    pass 1 of 5
    9var passes = 010for (n2 <- inputsList(2, 3, 4, 5, 6)) {11  if (isEven(n) && n > threshold) {
    All 5 passes — pass 1 is the card above
    passn
    12
    23
    34
    45
    56
  3. def isEven(n: Int): Boolean =

    pass 1 of 5
    1object Main {2  def isEven(n2: Int): Boolean = {3    n2 % 2 == 04  }
    All 5 passes — pass 1 is the card above
    passn
    12
    23
    34
    45
    56
  4. passes ← 1

    pass 1 of 3
    10for (n <- inputs) {11  if (isEven(n2) && n > threshold0) {12    passes→ 1 = passes + 113  }14}
    All 3 passes — pass 1 is the card above
    passnpasses
    120 1
    241 2
    362 3
  5. println("total=" + inputs.length)

    16    println("total=" + inputs.length5)17    println("passes=" + passes3)18  }19}
    outputtotal=5
    passes=3
  1. threshold ← 2, inputs ← List(2, 3, 4, 5, 6), passes ← 0

    6def main(args: Array[String]): Unit = {7  val threshold→ 2 = 28  val inputs→ List(2, 3, 4, 5, 6) = List(2, 3, 4, 5, 6)9  var passes→ 0 = 010  for (n <- inputs) {11    if (isEven(n) && n > threshold) {
  2. for (n <- inputs)

    pass 1 of 5
    9var passes = 010for (n2 <- inputsList(2, 3, 4, 5, 6)) {11  if (isEven(n) && n > threshold) {
    All 5 passes — pass 1 is the card above
    passnthresholdpasses
    12
    23
    3420 1
    45
    5621 2
  3. def isEven(n: Int): Boolean =

    pass 1 of 5
    1object Main {2  def isEven(n2: Int): Boolean = {3    n2 % 2 == 04  }
    All 5 passes — pass 1 is the card above
    passnthresholdpasses
    12
    23
    3420 1
    45
    5621 2
  4. passes ← 1

    pass 1 of 2
    10for (n <- inputs) {11  if (isEven(n4) && n > threshold2) {12    passes→ 1 = passes + 113  }14}
  5. passes ← 2

    pass 2 of 2
    10for (n <- inputs) {11  if (isEven(n6) && n > threshold2) {12    passes→ 2 = passes + 113  }14}
  6. println("total=" + inputs.length)

    16    println("total=" + inputs.length5)17    println("passes=" + passes2)18  }19}
    outputtotal=5
    passes=2
  1. threshold ← 4, inputs ← List(2, 3, 4, 5, 6), passes ← 0

    6def main(args: Array[String]): Unit = {7  val threshold→ 4 = 48  val inputs→ List(2, 3, 4, 5, 6) = List(2, 3, 4, 5, 6)9  var passes→ 0 = 010  for (n <- inputs) {11    if (isEven(n) && n > threshold) {
  2. for (n <- inputs)

    pass 1 of 5
    9var passes = 010for (n2 <- inputsList(2, 3, 4, 5, 6)) {11  if (isEven(n) && n > threshold) {
    All 5 passes — pass 1 is the card above
    passnthresholdpasses
    12
    23
    34
    45
    5640 1
  3. def isEven(n: Int): Boolean =

    pass 1 of 5
    1object Main {2  def isEven(n2: Int): Boolean = {3    n2 % 2 == 04  }
    All 5 passes — pass 1 is the card above
    passnthresholdpasses
    12
    23
    34
    45
    5640 1
  4. passes ← 1

    10for (n <- inputs) {11  if (isEven(n6) && n > threshold4) {12    passes→ 1 = passes + 113  }14}
  5. println("total=" + inputs.length)

    16    println("total=" + inputs.length5)17    println("passes=" + passes1)18  }19}
    outputtotal=5
    passes=1