evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This criteria evaluates how well the engineer uses Nx's testing utilities and devkit APIs to implement and test a custom generator. The focus is on proper usage of Tree, createTreeWithEmptyWorkspace, readProjectConfiguration, and other testing-specific APIs from @nx/devkit.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Tree manipulation",
"description": "Uses Tree interface methods (write, read, exists) to create and verify files in the generator implementation",
"max_score": 20
},
{
"name": "createTreeWithEmptyWorkspace usage",
"description": "Uses createTreeWithEmptyWorkspace() or similar utilities to create a virtual tree for testing the generator",
"max_score": 20
},
{
"name": "Configuration APIs",
"description": "Uses addProjectConfiguration() or updateProjectConfiguration() to add the library project to the workspace",
"max_score": 15
},
{
"name": "readProjectConfiguration testing",
"description": "Uses readProjectConfiguration() in tests to verify the project was added correctly to the workspace",
"max_score": 15
},
{
"name": "Tree assertions",
"description": "Uses tree.exists() and tree.read() in tests to verify generated files exist and contain expected content",
"max_score": 15
},
{
"name": "Generator invocation",
"description": "Properly invokes the generator function in tests, passing the virtual tree and options",
"max_score": 10
},
{
"name": "File path utilities",
"description": "Uses joinPathFragments() or similar path utilities from @nx/devkit for constructing file paths",
"max_score": 5
}
]
}