@temper.sh/pitch
Version:
Utilities for working with pitch in arbitrary equal temperament spaces
36 lines (31 loc) • 976 B
text/typescript
import { describe, expect, suite, test } from 'vitest'
import { interval } from './interval'
suite.concurrent('interval', () => {
describe('integers', () => {
const expectations: Array<[[number, number], number]> = [
[[0, 0], 0],
[[0, 1], 1],
[[0, -1], -1],
[[-10, 2], 12],
]
for (const [input, expected] of expectations) {
test(`interval(${input[0]}, ${input[1]}) should return ${expected}`, () => {
const result = interval(input[0], input[1])
expect(result).toBe(expected)
})
}
})
describe('floats', () => {
const expectations: Array<[[number, number], number]> = [
[[0, 0.5], 0.5],
[[0, -2.5], -2.5],
[[-2.5, 0], 2.5],
]
for (const [input, expected] of expectations) {
test(`interval(${input[0]}, ${input[1]}) should return ${expected}`, () => {
const result = interval(input[0], input[1])
expect(result).toBe(expected)
})
}
})
})