rosavox/lib/alveolata/list/test.spec.json
2025-05-23 07:33:29 +00:00

247 lines
4.1 KiB
JSON

{
"active": true,
"sections": [
{
"name": "sequence",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\sequence({{length}})"
},
"cases": [
{
"name": "empty",
"active": true,
"input": {
"length": 0
},
"output": {
"kind": "regular",
"value": []
}
},
{
"name": "non-empty",
"active": true,
"input": {
"length": 5
},
"output": {
"kind": "regular",
"value": [0,1,2,3,4]
}
}
]
},
{
"name": "map",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\map({{list}}, function ($x) {return ($x*2);})"
},
"cases": [
{
"name": "test",
"active": true,
"input": {
"list": [0,1,2]
},
"output": {
"kind": "regular",
"value": [0,2,4]
}
}
]
},
{
"name": "reduce",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\reduce({{list}}, {{start}}, function ($x, $y) {return ($x-$y);})"
},
"cases": [
{
"name": "empty list",
"active": true,
"input": {
"start": 7,
"list": []
},
"output": {
"kind": "regular",
"value": 7
}
},
{
"name": "non empty list",
"active": true,
"input": {
"start": 7,
"list": [0,1,2]
},
"output": {
"kind": "regular",
"value": 4
}
}
]
},
{
"name": "some",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\some({{list}}, function ($x) {return (($x % 3) === 0);})"
},
"cases": [
{
"name": "empty list",
"active": true,
"input": {
"list": []
},
"output": {
"kind": "regular",
"value": false
}
},
{
"name": "non empty list; negative",
"active": true,
"input": {
"list": [2,4,5,7]
},
"output": {
"kind": "regular",
"value": false
}
},
{
"name": "non empty list; positive",
"active": true,
"input": {
"list": [2,3,5,7]
},
"output": {
"kind": "regular",
"value": true
}
}
]
},
{
"name": "every",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\every({{list}}, function ($x) {return (($x % 3) === 0);})"
},
"cases": [
{
"name": "empty list",
"active": true,
"input": {
"list": []
},
"output": {
"kind": "regular",
"value": true
}
},
{
"name": "non empty list; negative",
"active": true,
"input": {
"list": [0,3,7,9]
},
"output": {
"kind": "regular",
"value": false
}
},
{
"name": "non empty list; positive",
"active": true,
"input": {
"list": [0,3,6,9]
},
"output": {
"kind": "regular",
"value": true
}
}
]
},
{
"name": "sort",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\sort({{list}})"
},
"cases": [
{
"name": "empty",
"active": true,
"input": {
"list": []
},
"output": {
"kind": "regular",
"value": []
}
},
{
"name": "non empty, positive",
"active": true,
"input": {
"list": [5,2,3]
},
"output": {
"kind": "regular",
"value": [2,3,5]
}
},
{
"name": "non empty, negative",
"active": true,
"input": {
"list": [-13,-7,-11]
},
"output": {
"kind": "regular",
"value": [-13,-11,-7]
}
}
]
},
{
"name": "group",
"active": true,
"execution": {
"call": "\\alveolata\\list_\\group({{list}}, function ($x, $y) {return (($x % 3) === ($y % 3));})"
},
"cases": [
{
"name": "empty",
"active": true,
"input": {
"list": []
},
"output": {
"kind": "regular",
"value": []
}
},
{
"name": "non empty",
"active": true,
"input": {
"list": [0,1,2,3,4,5]
},
"output": {
"kind": "regular",
"value": [[0,3],[1,4],[2,5]]
}
}
]
}
]
}