108 lines
2.6 KiB
Bash
108 lines
2.6 KiB
Bash
#!/usr/bin/env bats
|
|
load bats-extra
|
|
|
|
# local version: 1.2.0.0
|
|
|
|
# encode
|
|
|
|
@test "encode yes" {
|
|
#[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "yes"
|
|
assert_success
|
|
assert_output "bvh"
|
|
}
|
|
|
|
@test "encode no" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "no"
|
|
assert_success
|
|
assert_output "ml"
|
|
}
|
|
|
|
@test "encode OMG" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "OMG"
|
|
assert_success
|
|
assert_output "lnt"
|
|
}
|
|
|
|
@test "encode spaces" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "O M G"
|
|
assert_success
|
|
assert_output "lnt"
|
|
}
|
|
|
|
@test "encode mindblowingly" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "mindblowingly"
|
|
assert_success
|
|
assert_output "nrmwy oldrm tob"
|
|
}
|
|
|
|
@test "encode numbers" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "Testing,1 2 3, testing."
|
|
assert_success
|
|
assert_output "gvhgr mt123 gvhgr mt"
|
|
}
|
|
|
|
@test "encode deep thought" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "Truth is fiction."
|
|
assert_success
|
|
assert_output "gifgs rhurx grlm"
|
|
}
|
|
|
|
@test "encode all the letters" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh encode "The quick brown fox jumps over the lazy dog."
|
|
assert_success
|
|
assert_output "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt"
|
|
}
|
|
|
|
# decode
|
|
|
|
@test "decode exercism" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh decode "vcvix rhn"
|
|
assert_success
|
|
assert_output "exercism"
|
|
}
|
|
|
|
@test "decode a sentence" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh decode "zmlyh gzxov rhlug vmzhg vkkrm thglm v"
|
|
assert_success
|
|
assert_output "anobstacleisoftenasteppingstone"
|
|
}
|
|
|
|
@test "decode numbers" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh decode "gvhgr mt123 gvhgr mt"
|
|
assert_success
|
|
assert_output "testing123testing"
|
|
}
|
|
|
|
@test "decode all the letters" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh decode "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt"
|
|
assert_success
|
|
assert_output "thequickbrownfoxjumpsoverthelazydog"
|
|
}
|
|
|
|
@test "decode with too many spaces" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh decode "vc vix r hn"
|
|
assert_success
|
|
assert_output "exercism"
|
|
}
|
|
|
|
@test "decode with no spaces" {
|
|
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
|
run bash atbash_cipher.sh decode "zmlyhgzxovrhlugvmzhgvkkrmthglmv"
|
|
assert_success
|
|
assert_output "anobstacleisoftenasteppingstone"
|
|
}
|
|
|