common/exercises/react/canonical-data.json in trackler-2.0.8.17 vs common/exercises/react/canonical-data.json in trackler-2.0.8.18
- old
+ new
@@ -1,7 +1,9 @@
{
- "#": [
+ "exercise": "react",
+ "version": "1.0.0",
+ "comments": [
"Note that, due to the nature of this exercise,",
"the tests are specified using their cells and a series of operations to perform on the cells.",
"",
"Each object in the `cells` array has a `name` and `type` (`input` or `output`).",
"input cells have an `initial_value`, and compute cells have `inputs` and `compute_function`",
@@ -41,10 +43,11 @@
""
],
"cases": [
{
"description": "input cells have a value",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 10
@@ -58,10 +61,11 @@
}
]
},
{
"description": "an input cell's value can be set",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 4
@@ -80,10 +84,11 @@
}
]
},
{
"description": "compute cells calculate initial value",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -103,10 +108,11 @@
}
]
},
{
"description": "compute cells take inputs in the right order",
+ "property": "react",
"cells": [
{
"name": "one",
"type": "input",
"initial_value": 1
@@ -131,10 +137,11 @@
}
]
},
{
"description": "compute cells update value when dependencies are changed",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -159,10 +166,11 @@
}
]
},
{
"description": "compute cells can depend on other compute cells",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -204,10 +212,11 @@
}
]
},
{
"description": "compute cells fire callbacks",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -237,10 +246,11 @@
}
]
},
{
"description": "callback cells only fire on change",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -280,10 +290,11 @@
}
]
},
{
"description": "callbacks can be added and removed",
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 11
@@ -343,15 +354,16 @@
}
]
},
{
"description": "removing a callback multiple times doesn't interfere with other callbacks",
- "#": [
+ "comments": [
"Some incorrect implementations store their callbacks in an array",
"and removing a callback repeatedly either removes an unrelated callback",
"or causes an out of bounds access."
],
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -406,14 +418,15 @@
}
]
},
{
"description": "callbacks should only be called once even if multiple dependencies change",
- "#": [
+ "comments": [
"Some incorrect implementations call a callback function too early,",
"when not all of the inputs of a compute cell have propagated new values."
],
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1
@@ -461,14 +474,15 @@
}
]
},
{
"description": "callbacks should not be called if dependencies change but output value doesn't change",
- "#": [
+ "comments": [
"Some incorrect implementations simply mark a compute cell as dirty when a dependency changes,",
"then call callbacks on all dirty cells.",
"This is incorrect since the specification indicates only to call callbacks on change."
],
+ "property": "react",
"cells": [
{
"name": "input",
"type": "input",
"initial_value": 1