123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package gago
- import (
- "testing"
- )
- func TestMin(t *testing.T) {
- var testCases = [][]int{
- []int{1, 2},
- []int{2, 2},
- []int{2, 3},
- }
- for _, test := range testCases {
- if min(test[0], test[1]) != test[0] {
- t.Error("min didn't find the smallest integer")
- }
- }
- }
- func TestSumFloat64s(t *testing.T) {
- var testCases = []struct {
- floats []float64
- total float64
- }{
- {[]float64{1, 2, 3}, 6},
- {[]float64{-1, 1}, 0},
- {[]float64{1.42, 42.1}, 43.52},
- }
- for _, test := range testCases {
- if sumFloat64s(test.floats) != test.total {
- t.Error("sumFloat64s didn't work as expected")
- }
- }
- }
- func TestMinFloat64s(t *testing.T) {
- var testCases = []struct {
- floats []float64
- min float64
- }{
- {[]float64{1.0}, 1.0},
- {[]float64{1.0, 2.0}, 1.0},
- {[]float64{-1.0, 1.0}, -1.0},
- }
- for _, test := range testCases {
- if minFloat64s(test.floats) != test.min {
- t.Error("meanFloat64s didn't work as expected")
- }
- }
- }
- func TestMaxFloat64s(t *testing.T) {
- var testCases = []struct {
- floats []float64
- max float64
- }{
- {[]float64{1.0}, 1.0},
- {[]float64{1.0, 2.0}, 2.0},
- {[]float64{-1.0, 1.0}, 1.0},
- }
- for _, test := range testCases {
- if maxFloat64s(test.floats) != test.max {
- t.Error("maxFloat64s didn't work as expected")
- }
- }
- }
- func TestMeanFloat64s(t *testing.T) {
- var testCases = []struct {
- floats []float64
- mean float64
- }{
- {[]float64{1.0}, 1.0},
- {[]float64{1.0, 2.0}, 1.5},
- {[]float64{-1.0, 1.0}, 0.0},
- }
- for _, test := range testCases {
- if meanFloat64s(test.floats) != test.mean {
- t.Error("meanFloat64s didn't work as expected")
- }
- }
- }
- func TestVarianceFloat64s(t *testing.T) {
- var testCases = []struct {
- floats []float64
- variance float64
- }{
- {[]float64{1.0}, 0.0},
- {[]float64{-1.0, 1.0}, 1.0},
- {[]float64{-2.0, 2.0}, 4.0},
- }
- for _, test := range testCases {
- if varianceFloat64s(test.floats) != test.variance {
- t.Error("varianceFloat64s didn't work as expected")
- }
- }
- }
- func TestDivide(t *testing.T) {
- var testCases = []struct {
- floats []float64
- value float64
- divided []float64
- }{
- {[]float64{1, 1}, 1, []float64{1, 1}},
- {[]float64{1, 1}, 2, []float64{0.5, 0.5}},
- {[]float64{42, -42}, 21, []float64{2, -2}},
- }
- for _, test := range testCases {
- var divided = divide(test.floats, test.value)
- for i := range divided {
- if divided[i] != test.divided[i] {
- t.Error("divided didn't work as expected")
- }
- }
- }
- }
- func TestCumsum(t *testing.T) {
- var testCases = []struct {
- floats []float64
- summed []float64
- }{
- {[]float64{1, 2, 3, 4}, []float64{1, 3, 6, 10}},
- {[]float64{-1, 0, 1}, []float64{-1, -1, 0}},
- }
- for _, test := range testCases {
- var summed = cumsum(test.floats)
- for i := range summed {
- if summed[i] != test.summed[i] {
- t.Error("cumsum didn't work as expected")
- }
- }
- }
- }
- func TestUnion(t *testing.T) {
- var testCases = []struct {
- x set
- y set
- u set
- }{
- {
- x: set{1: true, 2: true, 3: true},
- y: set{4: true, 5: true, 6: true},
- u: set{1: true, 2: true, 3: true, 4: true, 5: true, 6: true},
- },
- {
- x: set{1: true, 2: true, 3: true},
- y: set{2: true, 3: true, 4: true},
- u: set{1: true, 2: true, 3: true, 4: true},
- },
- }
- for _, test := range testCases {
- var u = union(test.x, test.y)
- for i := range u {
- if !test.u[i] {
- t.Error("union didn't work as expected")
- }
- }
- }
- }
|