1
1
Fork 0
exercism/jq/kindergarten-garden/test-kindergarten-garden.bats

260 lines
5.9 KiB
Text
Raw Normal View History

#!/usr/bin/env bats
# generated on 2024-07-23T22:14:38Z
load bats-extra
load bats-jq
@test 'partial garden:garden with single student' {
#
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "RC\nGG",
"student": "Alice"
}
END_INPUT
assert_success
expected='["radishes","clover","grass","grass"]'
assert_equal "$output" "$expected"
}
@test 'partial garden:different garden with single student' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VC\nRC",
"student": "Alice"
}
END_INPUT
assert_success
expected='["violets","clover","radishes","clover"]'
assert_equal "$output" "$expected"
}
@test 'partial garden:garden with two students' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VVCG\nVVRC",
"student": "Bob"
}
END_INPUT
assert_success
expected='["clover","grass","radishes","clover"]'
assert_equal "$output" "$expected"
}
@test 'partial garden:multiple students for the same garden with three students:second student'\''s garden' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VVCCGG\nVVCCGG",
"student": "Bob"
}
END_INPUT
assert_success
expected='["clover","clover","clover","clover"]'
assert_equal "$output" "$expected"
}
@test 'partial garden:multiple students for the same garden with three students:third student'\''s garden' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VVCCGG\nVVCCGG",
"student": "Charlie"
}
END_INPUT
assert_success
expected='["grass","grass","grass","grass"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Alice, first student'\''s garden' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Alice"
}
END_INPUT
assert_success
expected='["violets","radishes","violets","radishes"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Bob, second student'\''s garden' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Bob"
}
END_INPUT
assert_success
expected='["clover","grass","clover","clover"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Charlie' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Charlie"
}
END_INPUT
assert_success
expected='["violets","violets","clover","grass"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for David' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "David"
}
END_INPUT
assert_success
expected='["radishes","violets","clover","radishes"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Eve' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Eve"
}
END_INPUT
assert_success
expected='["clover","grass","radishes","grass"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Fred' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Fred"
}
END_INPUT
assert_success
expected='["grass","clover","violets","clover"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Ginny' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Ginny"
}
END_INPUT
assert_success
expected='["clover","grass","grass","clover"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Harriet' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Harriet"
}
END_INPUT
assert_success
expected='["violets","radishes","radishes","violets"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Ileana' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Ileana"
}
END_INPUT
assert_success
expected='["grass","clover","violets","clover"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Joseph' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Joseph"
}
END_INPUT
assert_success
expected='["violets","clover","violets","grass"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Kincaid, second to last student'\''s garden' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Kincaid"
}
END_INPUT
assert_success
expected='["grass","clover","clover","grass"]'
assert_equal "$output" "$expected"
}
@test 'full garden:for Larry, last student'\''s garden' {
run jq -c -f kindergarten-garden.jq << 'END_INPUT'
{
"diagram": "VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV",
"student": "Larry"
}
END_INPUT
assert_success
expected='["grass","violets","clover","violets"]'
assert_equal "$output" "$expected"
}