Solution to reverse string in Bash
This commit is contained in:
64
bash/reverse-string/reverse_string.bats
Normal file
64
bash/reverse-string/reverse_string.bats
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bats
|
||||
load bats-extra
|
||||
|
||||
# local version: 1.2.0.1
|
||||
|
||||
@test "an empty string" {
|
||||
#[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh ""
|
||||
|
||||
assert_success
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "a word" {
|
||||
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh "robot"
|
||||
|
||||
assert_success
|
||||
assert_output "tobor"
|
||||
}
|
||||
|
||||
@test "a capitalised word" {
|
||||
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh "Ramen"
|
||||
|
||||
assert_success
|
||||
assert_output "nemaR"
|
||||
}
|
||||
|
||||
@test "a sentence with punctuation" {
|
||||
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh "I'm hungry!"
|
||||
|
||||
assert_success
|
||||
assert_output "!yrgnuh m'I"
|
||||
}
|
||||
|
||||
@test "a palindrome" {
|
||||
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh "racecar"
|
||||
|
||||
assert_success
|
||||
assert_output "racecar"
|
||||
}
|
||||
|
||||
@test "an even-sized word" {
|
||||
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh "drawer"
|
||||
|
||||
assert_success
|
||||
assert_output "reward"
|
||||
}
|
||||
|
||||
# bash-specific test: Focus the student's attention on the effects of
|
||||
# word splitting and filename expansion:
|
||||
# https://www.gnu.org/software/bash/manual/bash.html#Shell-Expansions
|
||||
|
||||
@test "avoid globbing" {
|
||||
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
|
||||
run bash reverse_string.sh " a * b"
|
||||
|
||||
assert_success
|
||||
assert_output "b * a "
|
||||
}
|
||||
Reference in New Issue
Block a user