or run

npx @tessl/cli init
Log in

Version

Files

docs

index.md
tile.json

rubric.jsonevals/scenario-10/

{
  "context": "This evaluation assesses how well the engineer uses the @rc-component/input-number component to implement programmatic value updates with validation. The focus is on proper usage of controlled component patterns, constraint props (min/max/precision/step), and programmatic value updates through state management.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "InputNumber import",
      "description": "Correctly imports the InputNumber component from '@rc-component/input-number' (default import or named import)",
      "max_score": 10
    },
    {
      "name": "Controlled component pattern",
      "description": "Uses React.useState to manage temperature state and passes both 'value' prop and 'onChange' handler to InputNumber component",
      "max_score": 20
    },
    {
      "name": "Min/max constraints",
      "description": "Sets 'min' prop to 15 and 'max' prop to 30 on the InputNumber component",
      "max_score": 15
    },
    {
      "name": "Step configuration",
      "description": "Sets 'step' prop to 0.5 on the InputNumber component",
      "max_score": 10
    },
    {
      "name": "Precision control",
      "description": "Sets 'precision' prop to 1 on the InputNumber component to enforce exactly 1 decimal place",
      "max_score": 10
    },
    {
      "name": "Programmatic updates",
      "description": "Implements preset buttons that programmatically update the temperature by calling the state setter function (setValue or equivalent) with specific values (18, 22, 26)",
      "max_score": 20
    },
    {
      "name": "Initial value",
      "description": "Sets initial temperature state to 22 or uses 'defaultValue' prop with value 22",
      "max_score": 10
    },
    {
      "name": "Temperature display",
      "description": "Displays the current temperature value (from state) above or near the InputNumber component",
      "max_score": 5
    }
  ]
}