UNPKG

@zeix/cause-effect

Version:

Cause & Effect - reactive state management primitives library for TypeScript.

43 lines (37 loc) 931 B
import type { 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}`, ) } }