# Conditional assertions (guards). Every line here either passes or is skipped,
# so the run exits 0. Drives the conditional_subcommand_test run snapshot.

# Guard satisfied: file present, the assertion runs and passes
tests/data/example.tsv tsv.columns.count eq 3 if tests/data/example.tsv file.exists eq true

# Guard not satisfied: file absent, the assertion is skipped
tests/data/missing.tsv tsv.columns.count eq 3 if tests/data/missing.tsv file.exists eq true

# unless: runs because the file is not empty, then passes
tests/data/size_5B.txt file.empty eq false unless tests/data/size_5B.txt file.empty eq true

# unless: skipped because the file is empty
tests/data/empty_file.txt file.lines gt 0 unless tests/data/empty_file.txt file.empty eq true

# Full-form guard on another file, satisfied: runs and passes
tests/data/example.tsv tsv.lines.count eq 3 if tests/data/size_5B.txt file.size gt 0B

# Full-form guard not satisfied: condition file absent, skipped
tests/data/example.tsv tsv.lines.count eq 3 if tests/data/missing.tsv file.exists eq true
