test_group_test.ts (1128B)
1 import { Logger, LogResults } from '../common/internal/logging/logger.js'; 2 import { TestQuerySingleCase } from '../common/internal/query/query.js'; 3 import { IterableTestGroup, TestCaseID } from '../common/internal/test_group.js'; 4 import { objectEquals } from '../common/util/util.js'; 5 6 import { UnitTest } from './unit_test.js'; 7 8 export class TestGroupTest extends UnitTest { 9 async run(g: IterableTestGroup): Promise<LogResults> { 10 const logger = new Logger({ overrideDebugMode: true }); 11 for (const t of g.iterate()) { 12 for (const rc of t.iterate(null)) { 13 const query = new TestQuerySingleCase('xx', ['yy'], rc.id.test, rc.id.params); 14 const [rec] = logger.record(query.toString()); 15 await rc.run(rec, query, []); 16 } 17 } 18 return logger.results; 19 } 20 21 expectCases(g: IterableTestGroup, cases: TestCaseID[]): void { 22 const gcases = []; 23 for (const t of g.iterate()) { 24 gcases.push(...Array.from(t.iterate(null), c => c.id)); 25 } 26 this.expect( 27 objectEquals(gcases, cases), 28 `expected 29 ${JSON.stringify(cases)} 30 got 31 ${JSON.stringify(gcases)}` 32 ); 33 } 34 }