import { describe, expect, it } from 'vitest'; import { PROCEDURAL_KINEMATIC_MACHINE_IDS, formatKinematicValidationReport, proceduralKinematicValidationSuites, runProceduralKinematicsValidation } from './proceduralKinematicsValidation'; describe('procedural demo kinematic validation suites', () => { it('covers every procedural milestone machine', () => { expect(proceduralKinematicValidationSuites).toHaveLength(PROCEDURAL_KINEMATIC_MACHINE_IDS.length); expect(proceduralKinematicValidationSuites.map((suite) => suite.machineId).sort()).toEqual( [...PROCEDURAL_KINEMATIC_MACHINE_IDS].sort() ); }); it('satisfies the sampled physical constraints for every demo machine', () => { const report = runProceduralKinematicsValidation(); expect(report.ok, formatKinematicValidationReport(report)).toBe(true); expect(report.errorCount).toBe(0); expect(report.warningCount).toBe(0); expect(report.constraintCount).toBeGreaterThan(50); expect(report.sampleCount).toBeGreaterThan(1000); }); });