Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions bin/generate_tests
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ def generate(specs: pathlib.Path, exercise: pathlib.Path) -> None:
load bats-extra

# generated on {timestamp}
# local version: 2.0.0.0"""
)
"""
).strip()
data = {
"cases": list(enumerate(cases)),
"header": header,
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/acronym/acronym.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T01:04:08+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "basic" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down Expand Up @@ -76,4 +75,4 @@ load bats-extra
run bash acronym.sh "Two * Words"
assert_success
assert_output "TW"
}
}
3 changes: 1 addition & 2 deletions exercises/practice/affine-cipher/affine_cipher.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T01:38:31+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "encode yes" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/all-your-base/all_your_base.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T01:44:18+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'single bit one to decimal' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/allergies/allergies.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T20:41:21+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'testing for eggs allergy:not allergic to anything' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/anagram/anagram.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T20:48:01+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "no matches" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/armstrong-numbers/armstrong_numbers.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T20:50:41+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'Zero is an Armstrong number' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/atbash-cipher/atbash_cipher.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T20:52:33+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "encode yes" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/binary-search/binary_search.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T20:55:15+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "finds a value in an array with one element" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/bob/bob.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T20:59:15+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "asking a question" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down Expand Up @@ -206,4 +205,4 @@ load bats-extra
run bash bob.sh 'bob???'
assert_success
assert_output "Sure."
}
}
3 changes: 1 addition & 2 deletions exercises/practice/bottle-song/bottle_song.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T01:51:16+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'first generic verse' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/bowling/bowling.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T01:58:15+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00
# The canonical cases call for the implementation of
# _methods_ `score` and `roll`. That's not feasible for a
# shell script. We'll just pass in all the individual rolls
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/change/change.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T02:01:30+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "change for 1 cent" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/clock/clock.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T02:08:46+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

# * The canonical "Compare two clocks for equality" tests
# have not been included: for bash they will simply be
Expand Down Expand Up @@ -317,4 +316,4 @@ load bats-extra
run bash clock.sh 1 2 - 3delta
assert_failure
assert_output # there is _some_ output
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:02:53+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "zero steps for one" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/crypto-square/crypto_square.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T02:12:22+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "empty plaintext results in an empty ciphertext" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/darts/darts.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:04:51+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "Missed target" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down Expand Up @@ -123,4 +122,4 @@ load bats-extra
run bash darts.sh 10 bar5
assert_failure
assert_output # there is _some_ output
}
}
3 changes: 1 addition & 2 deletions exercises/practice/diamond/diamond.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T02:14:42+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "Degenerate case with a single 'A' row" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:10:45+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "square of sum 1" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/eliuds-eggs/pop_count.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T02:16:54+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "0 eggs" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/flower-field/flower_field.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:37:03+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

join() {
local IFS=$'\n'
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/food-chain/food_chain.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:18:24+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'fly' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down Expand Up @@ -199,4 +198,4 @@ She's dead, of course!"
run bash food_chain.sh 8 1
assert_failure
assert_output --partial "Start must be less than or equal to End"
}
}
3 changes: 1 addition & 2 deletions exercises/practice/forth/forth.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:21:35+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "parsing and numbers: numbers just get pushed onto the stack" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/game-of-life/game_of_life.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T03:55:50+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:25+00:00
join() {
local IFS=$'\n'
echo "$*"
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/gigasecond/gigasecond.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:24:30+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'date only specification of time' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/grains/grains.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T03:58:17+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "grains on square 1" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/hamming/hamming.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:30:28+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'empty strands' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down Expand Up @@ -90,4 +89,4 @@ load bats-extra
run bash hamming.sh 'AAA' 'A?A'
assert_success
assert_output "1"
}
}
3 changes: 1 addition & 2 deletions exercises/practice/hello-world/hello_world.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:39:37+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "Say Hi!" {
run bash hello_world.sh
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/isbn-verifier/isbn_verifier.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T04:08:33+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'valid isbn' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/isogram/isogram.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:40:54+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'empty string' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T04:11:38+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

# Note: using ANSI-C Quoting here
# see https://www.gnu.org/software/bash/manual/bash.html#ANSI_002dC-Quoting
Expand Down
3 changes: 1 addition & 2 deletions exercises/practice/knapsack/knapsack.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:53:38+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

# Usage: knapsack.sh max_wt [items ...]
# where: items look like "weight:value"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:57:09+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "finds the largest product if span equals length" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/leap/leap.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-28T21:58:57+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test 'year not divisible by 4 in common year' {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down Expand Up @@ -106,4 +105,4 @@ load bats-extra

assert_failure
assert_output "Usage: leap.sh <year>"
}
}
3 changes: 1 addition & 2 deletions exercises/practice/line-up/line_up.bats
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env bats
load bats-extra

# generated on 2026-06-29T04:13:03+00:00
# local version: 2.0.0.0
# generated on 2026-06-29T16:53:24+00:00

@test "format smallest non-exceptional ordinal numeral 4" {
# [[ $BATS_RUN_SKIPPED == "true" ]] || skip
Expand Down
Loading