Files
lab-rv32i-asm-alu/tests/card_contract.test.mjs
T

5 lines
757 B
JavaScript

import assert from 'node:assert/strict'; import { 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('L05 identity and three tasks are stable',()=>{assert.equal(source.card.number,'05');assert.equal(source.card.uuid,'aabf60d8-9071-5f77-9bbb-2fc500f05358');assert.deepEqual(source.tasks_order,['task01','task02','task03']);});
test('ALU, encoding and writeback evidence are explicit',()=>{const text=JSON.stringify(source);for(const token of ['signed','002081b3','x3=12','writeback','VCD'])assert.match(text,new RegExp(token,'i'));for(const task of Object.values(source.tasks))assert.equal(task.assessment_criterion_ref,'RV05.KW01');});