Check whether a value stays inside an allowed range.

boundary assertion Range assertions use two comparisons: one for the lower bound and one for the upper bound.

Range Check

value
range_check.lua
Replay: real traced execution (multi-file project)
local value = 7
local lower = 5
local upper = 10
local passed = value >= lower and value <= upper
local status = "fail"
if passed then
    status = "pass"
end
print("value=" .. value)
print("status=" .. status)
local value = 3
local lower = 5
local upper = 10
local passed = value >= lower and value <= upper
local status = "fail"
if passed then
    status = "pass"
end
print("value=" .. value)
print("status=" .. status)
local value = 11
local lower = 5
local upper = 10
local passed = value >= lower and value <= upper
local status = "fail"
if passed then
    status = "pass"
end
print("value=" .. value)
print("status=" .. status)
  1. value ← 7, lower ← 5, upper ← 10, passed ← true, status ← fail

    1local value→ 7 = 7 --@value=3, 112local lower→ 5 = 53local upper→ 10 = 104local passed→ true = value7 >= lower5 and value <= upper105local status→ fail = "fail"6if passed then
  2. status ← pass

    5local status = "fail"6if passedtrue then7    status→ pass = "pass"8end
  3. print("value=" .. value)

    8end9print("value=" .. value7)10print("status=" .. statuspass)
    outputvalue=7
    status=pass
  1. value ← 3, lower ← 5, upper ← 10, passed ← false, status ← fail

    1local value→ 3 = 32local lower→ 5 = 53local upper→ 10 = 104local passed→ false = value3 >= lower5 and value <= upper105local status→ fail = "fail"6if passed then7    status = "pass"8end9print("value=" .. value3)10print("status=" .. statusfail)
    outputvalue=3
    status=fail
  1. value ← 11, lower ← 5, upper ← 10, passed ← false, status ← fail

    1local value→ 11 = 112local lower→ 5 = 53local upper→ 10 = 104local passed→ false = value11 >= lower5 and value <= upper105local status→ fail = "fail"6if passed then7    status = "pass"8end9print("value=" .. value11)10print("status=" .. statusfail)
    outputvalue=11
    status=fail