or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "context": "This criteria evaluates how well the engineer uses the plist package to handle dictionary key-value pairs with missing or undefined values, specifically testing their understanding of plist.parse() and plist.build() functions for edge cases in dictionary handling.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses plist.parse()",
      "description": "Implementation calls plist.parse() function to parse plist XML strings into JavaScript objects in the parseConfig function",
      "max_score": 20
    },
    {
      "name": "Uses plist.build()",
      "description": "Implementation calls plist.build() function to convert JavaScript objects into plist XML strings in the buildConfig function",
      "max_score": 20
    },
    {
      "name": "Handles missing values",
      "description": "Correctly leverages plist.parse()'s default behavior where dictionary keys without corresponding value elements result in empty string values in the returned JavaScript object",
      "max_score": 25
    },
    {
      "name": "Handles undefined values",
      "description": "Correctly leverages plist.build()'s default behavior where undefined values in JavaScript objects result in keys being present in the plist XML output without corresponding value elements",
      "max_score": 25
    },
    {
      "name": "Correct return types",
      "description": "parseConfig correctly returns the JavaScript object produced by plist.parse(), and buildConfig correctly returns the XML string produced by plist.build()",
      "max_score": 10
    }
  ]
}