260 lines
5.9 KiB
Text
260 lines
5.9 KiB
Text
|
#!/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"
|
||
|
}
|