@Override
    public String toString() {
        final String deliciousnessStr;
        final String typeStr = this.type.toString();
        final String shellStr = hardShell ? "hard" : "soft";
        final String crunchinessStr;

        if (this.deliciousness < 0.25f)
            deliciousnessStr = "not very delish";
        else if (this.deliciousness < 0.5)
            deliciousnessStr = "fairly delish";
        else if (this.deliciousness < 0.75)
            deliciousnessStr = "very delish";
        else
            deliciousnessStr = "extremely delish";

        if (this.crunchiness == 0)
            crunchinessStr = "floppy";
        else if (this.crunchiness == 1)
            crunchinessStr = "a bit crunchy";
        else if (this.crunchiness == 2)
            crunchinessStr = "slightly crunchy";
        else if (this.crunchiness == 3)
            crunchinessStr = "crunchy";
        else if (this.crunchiness == 4)
            crunchinessStr = "very crunchy";
        else
            crunchinessStr = "extremely crunchy";

        return "A " + deliciousnessStr + ", " + crunchinessStr + ", " + typeStr + " taco with a " + shellStr + " shell";
    }