MCPcopy
hub / github.com/lindb/lindb / TestBinaryEval

Function TestBinaryEval

aggregation/binary_test.go:66–127  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

64}
65
66func TestBinaryEval(t *testing.T) {
67 assert.Nil(t, binaryEval(stmt.DIV, collections.NewFloatArray(10), collections.NewFloatArray(10)))
68
69 fa := collections.NewFloatArray(10)
70 fa.SetValue(0, 1.1)
71 fa.SetValue(5, 5.5)
72 fa.SetValue(8, 9.9)
73 result := binaryEval(stmt.ADD, collections.NewFloatArray(10), fa)
74 assert.Equal(t, 3, result.Size())
75 assert.Equal(t, fa, result)
76 result = binaryEval(stmt.ADD, collections.NewFloatArray(10), nil)
77 assert.Nil(t, result)
78 result = binaryEval(stmt.ADD, nil, collections.NewFloatArray(10))
79 assert.Nil(t, result)
80
81 result = binaryEval(stmt.SUB, collections.NewFloatArray(10), fa)
82 assert.Equal(t, 3, result.Size())
83 assert.Equal(t, -1.1, result.GetValue(0))
84 assert.Equal(t, -5.5, result.GetValue(5))
85 assert.Equal(t, -9.9, result.GetValue(8))
86 result = binaryEval(stmt.MUL, collections.NewFloatArray(10), fa)
87 assert.Equal(t, 3, result.Size())
88 assert.Equal(t, 0.0, result.GetValue(0))
89 assert.Equal(t, 0.0, result.GetValue(5))
90 assert.Equal(t, 0.0, result.GetValue(8))
91 result = binaryEval(stmt.MUL, fa, collections.NewFloatArray(10))
92 assert.Equal(t, 3, result.Size())
93 assert.Equal(t, 0.0, result.GetValue(0))
94 assert.Equal(t, 0.0, result.GetValue(5))
95 assert.Equal(t, 0.0, result.GetValue(8))
96 result = binaryEval(stmt.SUB, fa, collections.NewFloatArray(10))
97 assert.Equal(t, fa, result)
98 result = binaryEval(stmt.ADD, fa, collections.NewFloatArray(10))
99 assert.Equal(t, fa, result)
100
101 fa = collections.NewFloatArray(10)
102 fa.SetValue(0, 1.1)
103 fa.SetValue(5, 5.5)
104 fa2 := collections.NewFloatArray(10)
105 fa2.SetValue(0, 1.1)
106 fa2.SetValue(8, 9.9)
107 result = binaryEval(stmt.ADD, fa, fa2)
108 assert.Equal(t, 3, result.Size())
109 assert.Equal(t, 2.2, result.GetValue(0))
110 assert.Equal(t, 5.5, result.GetValue(5))
111 assert.Equal(t, 9.9, result.GetValue(8))
112 result = binaryEval(stmt.SUB, fa, fa2)
113 assert.Equal(t, 3, result.Size())
114 assert.Equal(t, 0.0, result.GetValue(0))
115 assert.Equal(t, 5.5, result.GetValue(5))
116 assert.Equal(t, -9.9, result.GetValue(8))
117 result = binaryEval(stmt.MUL, fa, fa2)
118 assert.Equal(t, 3, result.Size())
119 assert.Equal(t, 1.21, math.Floor(result.GetValue(0)*100)/100)
120 assert.Equal(t, 0.0, result.GetValue(5))
121 assert.Equal(t, 0.0, result.GetValue(8))
122 result = binaryEval(stmt.DIV, fa, fa2)
123 assert.Equal(t, 3, result.Size())

Callers

nothing calls this directly

Calls 5

SetValueMethod · 0.95
NewFloatArrayFunction · 0.92
binaryEvalFunction · 0.85
SizeMethod · 0.65
GetValueMethod · 0.65

Tested by

no test coverage detected