ensemble / datasets.test.js
nanye's picture
add builtin datasets
58c6833
Raw History Blame Contribute Delete
815 Bytes
const {test}=require('node:test');
const assert=require('node:assert/strict');
const Datasets=require('./datasets.js');
test('XOR has the requested coordinates and class assignments',()=>{
assert.deepEqual(Datasets.create('xor'),[
{x:0,y:1,label:-1},{x:1,y:0,label:-1},
{x:0,y:0,label:1},{x:1,y:1,label:1},
]);
});
test('presets are repeatable, fit the plot, and contain multiple classes',()=>{
for(const type of ['two_moons','xor','circles','blobs','spirals']){
const points=Datasets.create(type);
assert.ok(points.length>0&&points.length<=1500);
assert.deepEqual(points,Datasets.create(type));
assert.equal(new Set(points.map(p=>p.label)).size,type==='blobs'?3:2);
assert.ok(points.every(p=>Number.isFinite(p.x)&&Number.isFinite(p.y)&&p.x>=0&&p.x<=1&&p.y>=0&&p.y<=1));
}
});