38 lines
670 B
Go
38 lines
670 B
Go
package gomus_test
|
|
|
|
import (
|
|
"strconv"
|
|
"testing"
|
|
|
|
gomus "git.cesium.pw/niku/gomus/pkg"
|
|
)
|
|
|
|
func SliceEquals[T string | int](a, b []T) bool {
|
|
if len(a) != len(b) {
|
|
return false
|
|
}
|
|
for i := range a {
|
|
if a[i] != b[i] {
|
|
return false
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
func TestMapBetween(t *testing.T) {
|
|
r := gomus.MapFloatBetween(2, 1, 3, 5, 10)
|
|
if r != 7.5 {
|
|
t.Fatalf("Expected value to be mapped to #, got: %f", r)
|
|
}
|
|
}
|
|
|
|
func TestMapList(t *testing.T) {
|
|
e := []string{"1", "2", "3"}
|
|
r := gomus.MapList([]int{1, 2, 3}, func(i int) string {
|
|
return strconv.Itoa(i)
|
|
})
|
|
if !SliceEquals(e, r) {
|
|
t.Fatalf("Expected list to be mapped to string %s got: %s", e, r)
|
|
}
|
|
}
|