#!/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"
}