From 25dc61c12d9faa111614cdd36e428633986996a4 Mon Sep 17 00:00:00 2001 From: Luc Patiny Date: Mon, 18 Aug 2025 14:23:27 +0200 Subject: [PATCH] chore: update dependencies --- package.json | 14 +++++++------- src/FilterXYType.ts | 8 ++++---- src/__tests__/filterMatrix.test.ts | 2 +- src/__tests__/filterXY.test.ts | 5 ++++- .../baseline/__tests__/airPLSBaseline.test.ts | 3 ++- .../__tests__/iterativePolynomialBaseline.test.ts | 3 ++- .../__tests__/rollingAverageBaseline.test.ts | 3 ++- .../baseline/__tests__/rollingBallBaseline.test.ts | 3 ++- .../__tests__/rollingMedianBaseline.test.ts | 3 ++- src/filters/scaling/__tests__/centerMean.test.ts | 3 ++- src/filters/scaling/__tests__/centerMedian.test.ts | 3 ++- src/filters/scaling/__tests__/divideBySD.test.ts | 3 ++- src/filters/scaling/__tests__/normed.test.ts | 3 ++- .../scaling/__tests__/paretoNormalization.test.ts | 3 ++- src/filters/scaling/__tests__/rescale.test.ts | 3 ++- src/filters/scaling/__tests__/yFunction.test.ts | 7 ++++++- src/filters/sg/__tests__/firstDerivative.test.ts | 3 ++- src/filters/sg/__tests__/savitzkyGolay.test.ts | 3 ++- src/filters/sg/__tests__/secondDerivative.test.ts | 3 ++- src/filters/sg/__tests__/thirdDerivate.test.ts | 3 ++- src/filters/x/__tests__/calibrateX.test.ts | 6 +++++- src/filters/x/__tests__/ensureGrowing.test.ts | 3 ++- src/filters/x/__tests__/equallySpaced.test.ts | 3 ++- src/filters/x/__tests__/filterX.test.ts | 3 ++- src/filters/x/__tests__/fromTo.test.ts | 5 ++++- src/filters/x/__tests__/setMaxX.test.ts | 5 ++++- src/filters/x/__tests__/setMinX.test.ts | 5 ++++- src/filters/x/__tests__/xFunction.test.ts | 7 ++++++- src/filters/x/calibrateX.ts | 2 +- src/filters/y/__tests__/setMaxY.test.ts | 5 ++++- src/filters/y/__tests__/setMinY.test.ts | 5 ++++- 31 files changed, 90 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index aae9949..1a3f1a7 100644 --- a/package.json +++ b/package.json @@ -38,22 +38,22 @@ }, "homepage": "https://github.com/mljs/signal-processing#readme", "devDependencies": { - "@vitest/coverage-v8": "^3.2.3", + "@vitest/coverage-v8": "^3.2.4", "@zakodium/tsconfig": "^1.0.2", - "eslint": "^9.29.0", - "eslint-config-cheminfo-typescript": "^18.0.1", + "eslint": "^9.33.0", + "eslint-config-cheminfo-typescript": "^19.0.0", "jest-matcher-deep-close-to": "^3.0.2", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "rimraf": "^6.0.1", - "typescript": "^5.8.3", + "typescript": "^5.9.2", "typescript-json-schema": "^0.65.1", - "vitest": "^3.2.3" + "vitest": "^3.2.4" }, "dependencies": { "baselines": "^1.1.9", "cheminfo-types": "^1.8.1", "ml-gsd": "^13.0.1", "ml-savitzky-golay-generalized": "^4.2.0", - "ml-spectra-processing": "^14.12.0" + "ml-spectra-processing": "^14.17.0" } } diff --git a/src/FilterXYType.ts b/src/FilterXYType.ts index b717d0b..b3863be 100644 --- a/src/FilterXYType.ts +++ b/src/FilterXYType.ts @@ -1,14 +1,17 @@ import type { AirPLSBaselineFilter, + CalibrateFilter, CenterMeanFilter, CenterMedianFilter, DivideBySDFilter, EnsureGrowingFilter, EquallySpacedFilter, + FilterXFilter, FirstDerivativeFilter, - IterativePolynomialBaselineFilter, FromToFilter, + IterativePolynomialBaselineFilter, NormedFilter, + ParetoNormalizationFilter, RescaleFilter, RollingAverageBaselineFilter, RollingBallBaselineFilter, @@ -16,11 +19,8 @@ import type { SavitzkyGolayFilter, SecondDerivativeFilter, ThirdDerivativeFilter, - FilterXFilter, XFunctionFilter, YFunctionFilter, - CalibrateFilter, - ParetoNormalizationFilter, } from './filters/filters.ts'; import type { ReverseIfNeededFilter } from './filters/x/reverseIfNeeded.ts'; diff --git a/src/__tests__/filterMatrix.test.ts b/src/__tests__/filterMatrix.test.ts index 8728cbd..58f9c90 100644 --- a/src/__tests__/filterMatrix.test.ts +++ b/src/__tests__/filterMatrix.test.ts @@ -1,4 +1,4 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import type { FilterMatrixType } from '../FilterMatrixType.ts'; import { filterMatrix } from '../index.ts'; diff --git a/src/__tests__/filterXY.test.ts b/src/__tests__/filterXY.test.ts index 3d48de5..b22fff2 100644 --- a/src/__tests__/filterXY.test.ts +++ b/src/__tests__/filterXY.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import type { FilterXYType } from '../FilterXYType.ts'; import linear from '../filters/__tests__/data/linear.ts'; @@ -12,6 +12,7 @@ describe('filterXY', () => { ]; const result = filterXY(linear, filters); + expect(result.data).toStrictEqual({ x: Float64Array.from([2, 3, 4, 5, 6, 7, 8]), y: Float64Array.from([-1, 0, 1, 2, 1, 0, -1]), @@ -25,6 +26,7 @@ describe('filterXY', () => { y: Float64Array.from([1, 2, 3, 4, 1]), }; const result = filterXY(data, filters); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3, 4, 5]), y: Float64Array.from([1, 2, 3, 4, 1]), @@ -38,6 +40,7 @@ describe('filterXY', () => { y: Float64Array.from([1, 2, 3, 4, 1]), }; const result = filterXY(data, filters); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3, 4, 5]), y: Float64Array.from([1, 4, 3, 2, 1]), diff --git a/src/filters/baseline/__tests__/airPLSBaseline.test.ts b/src/filters/baseline/__tests__/airPLSBaseline.test.ts index cdb4c7d..69e1e32 100644 --- a/src/filters/baseline/__tests__/airPLSBaseline.test.ts +++ b/src/filters/baseline/__tests__/airPLSBaseline.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import baseline from '../../__tests__/data/baseline.ts'; import { airPLSBaseline } from '../airPLSBaseline.ts'; test('airPLSBaseline', () => { const result = airPLSBaseline(baseline); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([0, 0, 0, 0, 4, 0, 0, 0, 0]), diff --git a/src/filters/baseline/__tests__/iterativePolynomialBaseline.test.ts b/src/filters/baseline/__tests__/iterativePolynomialBaseline.test.ts index 1fa9b28..8c00021 100644 --- a/src/filters/baseline/__tests__/iterativePolynomialBaseline.test.ts +++ b/src/filters/baseline/__tests__/iterativePolynomialBaseline.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import baseline from '../../__tests__/data/baseline.ts'; import { iterativePolynomialBaseline } from '../iterativePolynomialBaseline.ts'; test('iterativePolynomialBaseline', () => { const result = iterativePolynomialBaseline(baseline); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([ diff --git a/src/filters/baseline/__tests__/rollingAverageBaseline.test.ts b/src/filters/baseline/__tests__/rollingAverageBaseline.test.ts index 4a58e47..74564f6 100644 --- a/src/filters/baseline/__tests__/rollingAverageBaseline.test.ts +++ b/src/filters/baseline/__tests__/rollingAverageBaseline.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import baseline from '../../__tests__/data/baseline.ts'; import { rollingAverageBaseline } from '../rollingAverageBaseline.ts'; test('rollingAverageBaseline', () => { const result = rollingAverageBaseline(baseline); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([0, 0, 0, 0, 2, -2, 0, 0, 0]), diff --git a/src/filters/baseline/__tests__/rollingBallBaseline.test.ts b/src/filters/baseline/__tests__/rollingBallBaseline.test.ts index f94c1db..4eac7c0 100644 --- a/src/filters/baseline/__tests__/rollingBallBaseline.test.ts +++ b/src/filters/baseline/__tests__/rollingBallBaseline.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import baseline from '../../__tests__/data/baseline.ts'; import { rollingBallBaseline } from '../rollingBallBaseline.ts'; test('rollingBallBaseline', () => { const result = rollingBallBaseline(baseline); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([0, 0, 0, 0, 4, 0, 0, 0, 0]), diff --git a/src/filters/baseline/__tests__/rollingMedianBaseline.test.ts b/src/filters/baseline/__tests__/rollingMedianBaseline.test.ts index 50505c7..49ef4cd 100644 --- a/src/filters/baseline/__tests__/rollingMedianBaseline.test.ts +++ b/src/filters/baseline/__tests__/rollingMedianBaseline.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import baseline from '../../__tests__/data/baseline.ts'; import { rollingMedianBaseline } from '../rollingMedianBaseline.ts'; test('rollingMedianBaseline', () => { const result = rollingMedianBaseline(baseline); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([0, 0, 0, 0, 4, 0, 0, 0, 0]), diff --git a/src/filters/scaling/__tests__/centerMean.test.ts b/src/filters/scaling/__tests__/centerMean.test.ts index 9f2f5fd..b061d8a 100644 --- a/src/filters/scaling/__tests__/centerMean.test.ts +++ b/src/filters/scaling/__tests__/centerMean.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { centerMean } from '../centerMean.ts'; test('centerMean', () => { const result = centerMean(linear); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([ diff --git a/src/filters/scaling/__tests__/centerMedian.test.ts b/src/filters/scaling/__tests__/centerMedian.test.ts index d87a6d7..465e411 100644 --- a/src/filters/scaling/__tests__/centerMedian.test.ts +++ b/src/filters/scaling/__tests__/centerMedian.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { centerMedian } from '../centerMedian.ts'; test('centerMedian', () => { const result = centerMedian(linear); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([-2, -1, 0, 1, 2, 1, 0, -1, -2]), diff --git a/src/filters/scaling/__tests__/divideBySD.test.ts b/src/filters/scaling/__tests__/divideBySD.test.ts index 906b2fd..0faa46d 100644 --- a/src/filters/scaling/__tests__/divideBySD.test.ts +++ b/src/filters/scaling/__tests__/divideBySD.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { divideBySD } from '../divideBySD.ts'; test('divideBySD', () => { const result = divideBySD(linear); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([ diff --git a/src/filters/scaling/__tests__/normed.test.ts b/src/filters/scaling/__tests__/normed.test.ts index 41daa9a..9e37a86 100644 --- a/src/filters/scaling/__tests__/normed.test.ts +++ b/src/filters/scaling/__tests__/normed.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { normed } from '../normed.ts'; test('normed', () => { const result = normed(linear, { algorithm: 'max', value: 10 }); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([2, 4, 6, 8, 10, 8, 6, 4, 2]), diff --git a/src/filters/scaling/__tests__/paretoNormalization.test.ts b/src/filters/scaling/__tests__/paretoNormalization.test.ts index eb63838..ed5f0c0 100644 --- a/src/filters/scaling/__tests__/paretoNormalization.test.ts +++ b/src/filters/scaling/__tests__/paretoNormalization.test.ts @@ -1,4 +1,4 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import { paretoNormalization } from '../paretoNormalization.ts'; @@ -9,6 +9,7 @@ test('paretoNormalization', () => { }; const result = paretoNormalization(data); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([2, 3, 4]), y: Float64Array.from([ diff --git a/src/filters/scaling/__tests__/rescale.test.ts b/src/filters/scaling/__tests__/rescale.test.ts index 0d82a48..d0a84cb 100644 --- a/src/filters/scaling/__tests__/rescale.test.ts +++ b/src/filters/scaling/__tests__/rescale.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { rescale } from '../rescale.ts'; test('rescale', () => { const result = rescale(linear, { min: 1, max: 2 }); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([1, 1.25, 1.5, 1.75, 2, 1.75, 1.5, 1.25, 1]), diff --git a/src/filters/scaling/__tests__/yFunction.test.ts b/src/filters/scaling/__tests__/yFunction.test.ts index ddedc3a..2dbe89e 100644 --- a/src/filters/scaling/__tests__/yFunction.test.ts +++ b/src/filters/scaling/__tests__/yFunction.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { yFunction } from '../yFunction.ts'; @@ -6,23 +6,28 @@ import { yFunction } from '../yFunction.ts'; describe('yFunction', () => { it('nothing to do', () => { const result = yFunction(linear, {}); + expect(result.data).toMatchCloseTo({ y: [1, 2, 3, 4, 5, 4, 3, 2, 1], }); }); + it('y+2', () => { const result = yFunction(linear, { function: 'y+2', }); + expect(result.data).toMatchCloseTo({ x: [1, 2, 3, 4, 5, 6, 7, 8, 9], y: [3, 4, 5, 6, 7, 6, 5, 4, 3], }); }); + it('pow(y,2)', () => { const result = yFunction(linear, { function: 'pow(y,2)', }); + expect(result.data).toMatchCloseTo({ x: [1, 2, 3, 4, 5, 6, 7, 8, 9], y: [1, 4, 9, 16, 25, 16, 9, 4, 1], diff --git a/src/filters/sg/__tests__/firstDerivative.test.ts b/src/filters/sg/__tests__/firstDerivative.test.ts index f4468a6..11f2fe0 100644 --- a/src/filters/sg/__tests__/firstDerivative.test.ts +++ b/src/filters/sg/__tests__/firstDerivative.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { firstDerivative } from '../firstDerivative.ts'; test('firstDerivative', () => { const result = firstDerivative(linear); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([ diff --git a/src/filters/sg/__tests__/savitzkyGolay.test.ts b/src/filters/sg/__tests__/savitzkyGolay.test.ts index 0ca8137..fdadcb0 100644 --- a/src/filters/sg/__tests__/savitzkyGolay.test.ts +++ b/src/filters/sg/__tests__/savitzkyGolay.test.ts @@ -1,4 +1,4 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { savitzkyGolay } from '../savitzkyGolay.ts'; @@ -7,6 +7,7 @@ test('savitzkyGolay', () => { const result = savitzkyGolay(linear, { derivative: 1, }); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([ diff --git a/src/filters/sg/__tests__/secondDerivative.test.ts b/src/filters/sg/__tests__/secondDerivative.test.ts index 374c9ef..f128723 100644 --- a/src/filters/sg/__tests__/secondDerivative.test.ts +++ b/src/filters/sg/__tests__/secondDerivative.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { secondDerivative } from '../secondDerivative.ts'; test('secondDerivative', () => { const result = secondDerivative(linear); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([ diff --git a/src/filters/sg/__tests__/thirdDerivate.test.ts b/src/filters/sg/__tests__/thirdDerivate.test.ts index 94b3d9d..ea7db88 100644 --- a/src/filters/sg/__tests__/thirdDerivate.test.ts +++ b/src/filters/sg/__tests__/thirdDerivate.test.ts @@ -1,10 +1,11 @@ -import { test, expect } from 'vitest'; +import { expect, test } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { thirdDerivative } from '../thirdDerivative.ts'; test('thirdDerivative', () => { const result = thirdDerivative(linear); + expect(result.data).toMatchCloseTo({ x: Float64Array.from([1, 2, 3, 4, 5, 6, 7, 8, 9]), y: Float64Array.from([0, 0, 0, 0, 0, 0, 0, 0, 0]), diff --git a/src/filters/x/__tests__/calibrateX.test.ts b/src/filters/x/__tests__/calibrateX.test.ts index 7e32e08..0659f99 100644 --- a/src/filters/x/__tests__/calibrateX.test.ts +++ b/src/filters/x/__tests__/calibrateX.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import { calibrateX } from '../calibrateX.ts'; @@ -10,6 +10,7 @@ describe('calibrateX', () => { }; const shifted = calibrateX(data); + expect(shifted.data.x).toMatchCloseTo( Float64Array.from([-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6]), ); @@ -21,6 +22,7 @@ describe('calibrateX', () => { x: Float64Array.from([0, 1, 2, 3]), y: Float64Array.from([1, 1, 5, 1]), }; + expect(() => calibrateX(data, { from: 1, to: 10 })).toThrow( 'Window size is higher than the data lengt', ); @@ -77,6 +79,7 @@ describe('calibrateX', () => { from: 1, to: 10, }); + // because we look for the real maximum it is not exactly 2 expect(shifted.data.x).toMatchCloseTo( Float64Array.from([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]), @@ -112,6 +115,7 @@ describe('calibrateX', () => { gsd: gsdOptions, nbPeaks: 2, }); + // because we look for the real maximum it is not exactly 2 expect(shifted.data.x).toMatchCloseTo( Float64Array.from([ diff --git a/src/filters/x/__tests__/ensureGrowing.test.ts b/src/filters/x/__tests__/ensureGrowing.test.ts index 40e5513..4f6a9e8 100644 --- a/src/filters/x/__tests__/ensureGrowing.test.ts +++ b/src/filters/x/__tests__/ensureGrowing.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import { ensureGrowing } from '../ensureGrowing.ts'; @@ -7,6 +7,7 @@ import linear from './data/nonGrowing.ts'; describe('ensureGrowing', () => { it('nothing to do', () => { const result = ensureGrowing(linear); + expect(result.data).toMatchCloseTo({ x: [1, 3, 5, 6, 7, 8, 9], y: [1, 3, 5, 4, 3, 2, 1], diff --git a/src/filters/x/__tests__/equallySpaced.test.ts b/src/filters/x/__tests__/equallySpaced.test.ts index 605c8ca..1f9ae8b 100644 --- a/src/filters/x/__tests__/equallySpaced.test.ts +++ b/src/filters/x/__tests__/equallySpaced.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { equallySpaced } from '../equallySpaced.ts'; @@ -9,6 +9,7 @@ describe('equallySpaced', () => { exclusions: [{ from: 2, to: 7 }], numberOfPoints: 5, }); + expect(result.data).toMatchCloseTo({ x: [1, 2, 7, 8, 9], y: [1, 2, 3, 2, 1], diff --git a/src/filters/x/__tests__/filterX.test.ts b/src/filters/x/__tests__/filterX.test.ts index 45e3189..8e0b4a2 100644 --- a/src/filters/x/__tests__/filterX.test.ts +++ b/src/filters/x/__tests__/filterX.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { filterX } from '../filterX.ts'; @@ -8,6 +8,7 @@ describe('filterX', () => { const result = filterX(linear, { exclusions: [{ from: 2, to: 7 }], }); + expect(result.data).toMatchCloseTo({ x: [1, 2, 7, 8, 9], y: [1, 2, 3, 2, 1], diff --git a/src/filters/x/__tests__/fromTo.test.ts b/src/filters/x/__tests__/fromTo.test.ts index d0099d7..ee8c90a 100644 --- a/src/filters/x/__tests__/fromTo.test.ts +++ b/src/filters/x/__tests__/fromTo.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { fromTo } from '../fromTo.ts'; @@ -6,13 +6,16 @@ import { fromTo } from '../fromTo.ts'; describe('fromTo', () => { it('nothing to do', () => { const result = fromTo(linear); + expect(result.data).toMatchCloseTo({ x: [1, 2, 3, 4, 5, 6, 7, 8, 9], y: [1, 2, 3, 4, 5, 4, 3, 2, 1], }); }); + it('from to', () => { const result = fromTo(linear, { from: 2, to: 8 }); + expect(result.data).toMatchCloseTo({ x: [2, 3, 4, 5, 6, 7, 8], y: [2, 3, 4, 5, 4, 3, 2], diff --git a/src/filters/x/__tests__/setMaxX.test.ts b/src/filters/x/__tests__/setMaxX.test.ts index 58f8cf8..1c08b32 100644 --- a/src/filters/x/__tests__/setMaxX.test.ts +++ b/src/filters/x/__tests__/setMaxX.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import { setMaxX } from '../setMaxX.ts'; @@ -9,6 +9,7 @@ describe('setMaxX', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMaxX(data, {}); + expect(result.data).toStrictEqual({ x: Float64Array.from([-1, 0, 1]), y: Float64Array.from([2, 3, 4]), @@ -22,6 +23,7 @@ describe('setMaxX', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMaxX(data, { max: 3 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([2, 3, 4]), @@ -35,6 +37,7 @@ describe('setMaxX', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMaxX(data, { max: -1 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([-3, -2, -1]), y: Float64Array.from([2, 3, 4]), diff --git a/src/filters/x/__tests__/setMinX.test.ts b/src/filters/x/__tests__/setMinX.test.ts index 7e08300..257daa7 100644 --- a/src/filters/x/__tests__/setMinX.test.ts +++ b/src/filters/x/__tests__/setMinX.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import { setMinX } from '../setMinX.ts'; @@ -9,6 +9,7 @@ describe('setMinX', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMinX(data, {}); + expect(result.data).toStrictEqual({ x: Float64Array.from([0, 1, 2]), y: Float64Array.from([2, 3, 4]), @@ -22,6 +23,7 @@ describe('setMinX', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMinX(data, { min: 1 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: Float64Array.from([2, 3, 4]), @@ -35,6 +37,7 @@ describe('setMinX', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMinX(data, { min: -1 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([-1, 0, 1]), y: Float64Array.from([2, 3, 4]), diff --git a/src/filters/x/__tests__/xFunction.test.ts b/src/filters/x/__tests__/xFunction.test.ts index 0d1ce90..65d01ce 100644 --- a/src/filters/x/__tests__/xFunction.test.ts +++ b/src/filters/x/__tests__/xFunction.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import linear from '../../__tests__/data/linear.ts'; import { xFunction } from '../xFunction.ts'; @@ -6,24 +6,29 @@ import { xFunction } from '../xFunction.ts'; describe('xFunction', () => { it('nothing to do', () => { const result = xFunction(linear, {}); + expect(result.data).toMatchCloseTo({ x: [1, 2, 3, 4, 5, 6, 7, 8, 9], y: [1, 2, 3, 4, 5, 4, 3, 2, 1], }); }); + it('x+2', () => { const result = xFunction(linear, { function: 'x+2', }); + expect(result.data).toMatchCloseTo({ x: [3, 4, 5, 6, 7, 8, 9, 10, 11], y: [1, 2, 3, 4, 5, 4, 3, 2, 1], }); }); + it('pow(x,2)', () => { const result = xFunction(linear, { function: 'pow(x,2)', }); + expect(result.data).toMatchCloseTo({ x: [1, 4, 9, 16, 25, 36, 49, 64, 81], y: [1, 2, 3, 4, 5, 4, 3, 2, 1], diff --git a/src/filters/x/calibrateX.ts b/src/filters/x/calibrateX.ts index 7105b80..b8790d9 100644 --- a/src/filters/x/calibrateX.ts +++ b/src/filters/x/calibrateX.ts @@ -1,7 +1,7 @@ import type { DataXY } from 'cheminfo-types'; import type { GSDOptions } from 'ml-gsd'; import { gsd } from 'ml-gsd'; -import { xFindClosestIndex, xMean, xAdd } from 'ml-spectra-processing'; +import { xAdd, xFindClosestIndex, xMean } from 'ml-spectra-processing'; export interface CalibrateFilter { name: 'calibrateX'; diff --git a/src/filters/y/__tests__/setMaxY.test.ts b/src/filters/y/__tests__/setMaxY.test.ts index 5ca267c..1ed30d5 100644 --- a/src/filters/y/__tests__/setMaxY.test.ts +++ b/src/filters/y/__tests__/setMaxY.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import { setMaxY } from '../setMaxY.ts'; @@ -9,6 +9,7 @@ describe('setMaxY', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMaxY(data, {}); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([-1, 0, 1]), @@ -22,6 +23,7 @@ describe('setMaxY', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMaxY(data, { max: 4 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([2, 3, 4]), @@ -35,6 +37,7 @@ describe('setMaxY', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMaxY(data, { max: -1 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([-3, -2, -1]), diff --git a/src/filters/y/__tests__/setMinY.test.ts b/src/filters/y/__tests__/setMinY.test.ts index 3a5fbfa..f6f7b90 100644 --- a/src/filters/y/__tests__/setMinY.test.ts +++ b/src/filters/y/__tests__/setMinY.test.ts @@ -1,4 +1,4 @@ -import { describe, it, expect } from 'vitest'; +import { describe, expect, it } from 'vitest'; import { setMinY } from '../setMinY.ts'; @@ -9,6 +9,7 @@ describe('setMinY', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMinY(data, {}); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([0, 1, 2]), @@ -22,6 +23,7 @@ describe('setMinY', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMinY(data, { min: 2 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([2, 3, 4]), @@ -35,6 +37,7 @@ describe('setMinY', () => { y: Float64Array.from([2, 3, 4]), }; const result = setMinY(data, { min: -1 }); + expect(result.data).toStrictEqual({ x: Float64Array.from([1, 2, 3]), y: new Float64Array([-1, 0, 1]),