Hibiki/panako/units_test.go

42 lines
1.4 KiB
Go

package panako
import (
"github.com/cocoonlife/testify/assert"
"testing"
)
func TestOctavesUp(t *testing.T) {
freq := Hertz(110)
assert.Equal(t, Hertz(220), freq.Octaves(1), "110Hz -> 220Hz")
assert.Equal(t, Hertz(440), freq.Octaves(2), "110Hz -> 440Hz")
assert.Equal(t, Hertz(7040), freq.Octaves(6), "110Hz -> 7040Hz")
}
func TestOctavesDown(t *testing.T) {
freq := Hertz(440)
assert.Equal(t, Hertz(220), freq.Octaves(-1), "440Hz -> 220Hz")
assert.Equal(t, Hertz(110), freq.Octaves(-2), "440Hz -> 110Hz")
}
func TestHertz(t *testing.T) {
freq := Hertz(110)
assert.Equal(t, CentsPerOctave, freq.DifferenceInCent(Hertz(220)), "Cents 110Hz -> 220Hz")
assert.Equal(t, CentsPerOctave*2, freq.DifferenceInCent(Hertz(440)), "Cents 110Hz -> 440Hz")
assert.Equal(t, CentsPerOctave*6, freq.DifferenceInCent(Hertz(7040)), "Cents 110Hz -> 7040Hz")
assert.Equal(t, Hertz(110), freq.DifferenceInHertz(Hertz(220)), "Hertz 110Hz -> 220Hz")
assert.Equal(t, Hertz(330), freq.DifferenceInHertz(Hertz(440)), "Hertz 110Hz -> 440Hz")
assert.Equal(t, Hertz(6930), freq.DifferenceInHertz(Hertz(7040)), "Hertz 110Hz -> 7040Hz")
}
func TestCents(t *testing.T) {
freq := Hertz(110)
assert.Equal(t, Hertz(220), freq.Cents(CentsPerOctave), "110Hz -> 220Hz")
assert.Equal(t, Hertz(440), freq.Cents(CentsPerOctave*2), "110Hz -> 440Hz")
assert.Equal(t, Hertz(7040), freq.Cents(CentsPerOctave*6), "110Hz -> 7040Hz")
}