Check a sequence length against the expected count.

count assertion The length operator returns a number that can be compared just like any other computed result.

Length Check

expected
length_check.lua
Replay: real traced execution (multi-file project)
local expected = 3
local actual = #{"red", "green", "blue"}
local passed = actual == expected
local status = "fail"
if passed then
    status = "pass"
end
print("expected=" .. expected)
print("actual=" .. actual)
print("status=" .. status)
local expected = 2
local actual = #{"red", "green", "blue"}
local passed = actual == expected
local status = "fail"
if passed then
    status = "pass"
end
print("expected=" .. expected)
print("actual=" .. actual)
print("status=" .. status)
local expected = 4
local actual = #{"red", "green", "blue"}
local passed = actual == expected
local status = "fail"
if passed then
    status = "pass"
end
print("expected=" .. expected)
print("actual=" .. actual)
print("status=" .. status)
  1. expected ← 3, actual ← 3, passed ← true, status ← fail

    1local expected→ 3 = 3 --@expected=2, 42local actual→ 3 = #{"red", "green", "blue"}3local passed→ true = actual3 == expected34local status→ fail = "fail"5if passed then
  2. status ← pass

    4local status = "fail"5if passedtrue then6    status→ pass = "pass"7end
  3. print("expected=" .. expected)

    7end8print("expected=" .. expected3)9print("actual=" .. actual3)10print("status=" .. statuspass)
    outputexpected=3
    actual=3
    status=pass
  1. expected ← 2, actual ← 3, passed ← false, status ← fail

    1local expected→ 2 = 22local actual→ 3 = #{"red", "green", "blue"}3local passed→ false = actual3 == expected24local status→ fail = "fail"5if passed then6    status = "pass"7end8print("expected=" .. expected2)9print("actual=" .. actual3)10print("status=" .. statusfail)
    outputexpected=2
    actual=3
    status=fail
  1. expected ← 4, actual ← 3, passed ← false, status ← fail

    1local expected→ 4 = 42local actual→ 3 = #{"red", "green", "blue"}3local passed→ false = actual3 == expected44local status→ fail = "fail"5if passed then6    status = "pass"7end8print("expected=" .. expected4)9print("actual=" .. actual3)10print("status=" .. statusfail)
    outputexpected=4
    actual=3
    status=fail