Solved grains in Bash

This commit is contained in:
2023-05-07 15:57:59 +02:00
parent c4a0a6c693
commit 9499420af9
7 changed files with 925 additions and 0 deletions

81
bash/grains/grains.bats Normal file
View File

@@ -0,0 +1,81 @@
#!/usr/bin/env bats
load bats-extra
# local version: 1.2.0.0
@test "1" {
#[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 1
assert_success
assert_output "1"
}
@test "2" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 2
assert_success
assert_output "2"
}
@test "3" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 3
assert_success
assert_output "4"
}
@test "4" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 4
assert_success
assert_output "8"
}
@test "16" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 16
assert_success
assert_output "32768"
}
@test "32" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 32
assert_success
assert_output "2147483648"
}
@test "64" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 64
assert_success
assert_output "9223372036854775808"
}
@test "square 0 raises an exception" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 0
assert_failure
assert_output "Error: invalid input"
}
@test "negative square raises an exception" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh -1
assert_failure
assert_output "Error: invalid input"
}
@test "square greater than 64 raises an exception" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh 65
assert_failure
assert_output "Error: invalid input"
}
@test "returns the total number of grains on the board" {
[[ $BATS_RUN_SKIPPED == "true" ]] || skip
run bash grains.sh total
assert_success
assert_output "18446744073709551615"
}