Files

6 lines
942 B
JavaScript

import assert from 'node:assert/strict'; import { access, readFile } from 'node:fs/promises'; import test from 'node:test';
const source=JSON.parse(await readFile(new URL('../json/card_source.json',import.meta.url),'utf8'));
test('L01 identity and three tasks are stable',()=>{assert.equal(source.card.series,'rv32i-asm');assert.equal(source.card.number,'01');assert.equal(source.card.uuid,'d132962b-7deb-5605-8567-d5d35f688230');assert.deepEqual(source.tasks_order,['task01','task02','task03']);});
test('number, extension and storage evidence are explicit',()=>{const text=JSON.stringify(source);for(const token of ['10101101','sign extension','little-endian','78,56,34,12','VCD'])assert.match(text,new RegExp(token,'i'));});
test('all task sources exist',async()=>{for(const name of ['task01_positional_encoding','task02_extension_shifts','task03_little_endian_memory'])await access(new URL(`../src/tasks/${name}.sv`,import.meta.url));});