@zeix/cause-effect
Version:
Cause & Effect - reactive state management with signals.
43 lines (37 loc) • 975 B
text/typescript
import { FrameworkInfo, TestConfig } from "./framework-types";
export interface TestResult {
sum: number;
count: number;
}
export interface TimingResult<T> {
result: T;
timing: TestTiming;
}
export interface TestTiming {
time: number;
}
export function verifyBenchResult(
perfFramework: FrameworkInfo,
config: TestConfig,
timedResult: TimingResult<TestResult>
): void {
const { testPullCounts, framework } = perfFramework;
const { expected } = config;
const { result } = timedResult;
if (expected.sum) {
console.assert(
result.sum == expected.sum,
`sum ${framework.name} ${config.name} result:${result.sum} expected:${expected.sum}`
);
}
if (
expected.count &&
(config.readFraction === 1 || testPullCounts) &&
testPullCounts !== false
) {
console.assert(
result.count === expected.count,
`count ${framework.name} ${config.name} result:${result.count} expected:${expected.count}`
);
}
}