Test the edges of an allowed range.

boundary-check Boundary tests probe the smallest and largest accepted values. Here the upper edge 10 is inside the range while 0 and 11 fall outside.

Boundary Checks

value
BoundaryCheck.scala
Replay: real traced execution (multi-file project)
object Main {
  def inRange(n: Int): Boolean = {
    n >= 1 && n <= 10
  }

  def main(args: Array[String]): Unit = {
    val value = 10
    val ok = inRange(value)
    val status = if (ok) "inside" else "outside"

    println("value=" + value)
    println("status=" + status)
  }
}
object Main {
  def inRange(n: Int): Boolean = {
    n >= 1 && n <= 10
  }

  def main(args: Array[String]): Unit = {
    val value = 0
    val ok = inRange(value)
    val status = if (ok) "inside" else "outside"

    println("value=" + value)
    println("status=" + status)
  }
}
object Main {
  def inRange(n: Int): Boolean = {
    n >= 1 && n <= 10
  }

  def main(args: Array[String]): Unit = {
    val value = 11
    val ok = inRange(value)
    val status = if (ok) "inside" else "outside"

    println("value=" + value)
    println("status=" + status)
  }
}
  1. value ← 10

    6def main(args: Array[String]): Unit = {7  val value→ 10 = 10 //@value=0, 118  val ok = inRange(value10)9  val status = if (ok) "inside" else "outside"
  2. def inRange(n: Int): Boolean =

    1object Main {2  def inRange(n10: Int): Boolean = {3    n10 >= 1 && n <= 104  }
  3. ok ← true, status ← inside

    7    val value = 10 //@value=0, 118    val ok→ true = inRange(value10)9    val status→ inside = if (oktrue) "inside" else "outside"1011    println("value=" + value10)12    println("status=" + statusinside)13  }14}
    outputvalue=10
    status=inside
  1. value ← 0

    6def main(args: Array[String]): Unit = {7  val value→ 0 = 08  val ok = inRange(value0)9  val status = if (ok) "inside" else "outside"
  2. def inRange(n: Int): Boolean =

    1object Main {2  def inRange(n0: Int): Boolean = {3    n0 >= 1 && n <= 104  }
  3. ok ← false, status ← outside

    7    val value = 08    val ok→ false = inRange(value0)9    val status→ outside = if (okfalse) "inside" else "outside"1011    println("value=" + value0)12    println("status=" + statusoutside)13  }14}
    outputvalue=0
    status=outside
  1. value ← 11

    6def main(args: Array[String]): Unit = {7  val value→ 11 = 118  val ok = inRange(value11)9  val status = if (ok) "inside" else "outside"
  2. def inRange(n: Int): Boolean =

    1object Main {2  def inRange(n11: Int): Boolean = {3    n11 >= 1 && n <= 104  }
  3. ok ← false, status ← outside

    7    val value = 118    val ok→ false = inRange(value11)9    val status→ outside = if (okfalse) "inside" else "outside"1011    println("value=" + value11)12    println("status=" + statusoutside)13  }14}
    outputvalue=11
    status=outside