UNPKG

@c9up/technical-indicators-napi

Version:

A Rust-based indicator and Charts library compiled to napi.

37 lines (30 loc) 1.19 kB
import { test } from '@japa/runner' import pkg from '../../index.js' const { relativeVigorIndex } = pkg import { generateTestData } from './lib.mjs' test.group('RelativeVigorIndex', (group) => { let data group.setup(() => { data = generateTestData(100) }) test('rvi and signal have the same length as input', ({ assert }) => { const result = relativeVigorIndex(data) assert.equal(result.rvi.length, data.length) assert.equal(result.signal.length, data.length) }) test('early values are NaN due to warmup period', ({ assert }) => { const result = relativeVigorIndex(data) // At least the very first value should be NaN given the warmup requirement assert.isTrue(isNaN(result.rvi[0]), 'Expected first rvi value to be NaN') assert.isTrue(isNaN(result.signal[0]), 'Expected first signal value to be NaN') }) test('not enough data throws', ({ assert }) => { const tinyData = generateTestData(2) try { relativeVigorIndex(tinyData) assert.fail('Expected error was not thrown') } catch (error) { assert.isNotNull(error) } }) })