feat(demo): replace source waveforms with simulated data
All checks were successful
Package component / package (push) Successful in 6m25s
All checks were successful
Package component / package (push) Successful in 6m25s
This commit is contained in:
31
src/data/simulatedWaveforms.test.ts
Normal file
31
src/data/simulatedWaveforms.test.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
|
||||
import { createSimulatedWaveformData } from './simulatedWaveforms'
|
||||
|
||||
describe('simulated waveform data', () => {
|
||||
it('creates deterministic, finite six-channel data', () => {
|
||||
const first = createSimulatedWaveformData()
|
||||
const second = createSimulatedWaveformData()
|
||||
|
||||
expect(first).toEqual(second)
|
||||
expect(first.kind).toBe('series')
|
||||
if (first.kind !== 'series') return
|
||||
|
||||
expect(first.series).toHaveLength(6)
|
||||
expect(new Set(first.series.map((series) => series.id)).size).toBe(6)
|
||||
first.series.forEach((series) => {
|
||||
expect(series.data.kind).toBe('points')
|
||||
if (series.data.kind !== 'points') return
|
||||
expect(series.data.points).toHaveLength(1_000)
|
||||
expect(series.data.points[0]?.x).toBe(-5)
|
||||
expect(series.data.points.at(-1)?.x).toBe(5)
|
||||
series.data.points.forEach((point) => {
|
||||
expect(Number.isFinite(point.x)).toBe(true)
|
||||
expect(Number.isFinite(point.y)).toBe(true)
|
||||
if (point.error !== undefined) expect(point.error).toBeGreaterThanOrEqual(0)
|
||||
if (point.lowerError !== undefined) expect(point.lowerError).toBeGreaterThanOrEqual(0)
|
||||
if (point.upperError !== undefined) expect(point.upperError).toBeGreaterThanOrEqual(0)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user