-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathargmax_test.go
More file actions
74 lines (70 loc) · 1.3 KB
/
argmax_test.go
File metadata and controls
74 lines (70 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package num
import (
"testing"
"gitee.com/quant1x/num/labs"
)
func TestArgMax(t *testing.T) {
type testCase struct {
Name string
Args any
Want any
TestFunc func(v any) any
}
tests := []testCase{
//{
// Name: "bool",
// Args: []bool{false, true},
// Want: []bool{false, true},
// TestFunc: func(v any) any {
// return ArgMax(v.([]bool))
// },
//},
//{
// Name: "string",
// Args: []string{"1"},
// Want: []string{"1"},
// TestFunc: func(v any) any {
// return Abs(v.([]string))
// },
//},
{
Name: "float32",
Args: []float32{-0.1, 1.0, -2.00, -3},
Want: 1,
TestFunc: func(v any) any {
return ArgMax(v.([]float32))
},
},
{
Name: "float64",
Args: []float64{1.2, 1.2, 3.3},
Want: 2,
TestFunc: func(v any) any {
return ArgMax(v.([]float64))
},
},
{
Name: "int32",
Args: []int32{11, 12, 33},
Want: 2,
TestFunc: func(v any) any {
return ArgMax(v.([]int32))
},
},
{
Name: "int64",
Args: []int64{11, 12, 33},
Want: 2,
TestFunc: func(v any) any {
return ArgMax(v.([]int64))
},
},
}
for _, tt := range tests {
t.Run(tt.Name, func(t *testing.T) {
if got := tt.TestFunc(tt.Args); !labs.DeepEqual(got, tt.Want) {
t.Errorf("ArgMax() = %v, want %v", got, tt.Want)
}
})
}
}