-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathevent_test.go
77 lines (63 loc) · 2.14 KB
/
event_test.go
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
75
76
77
package inputeventsubsystem
import (
"testing"
"github.com/stretchr/testify/assert"
)
var data []byte = []byte{
0x53, 0xaf, 0x93, 0x65, 0x0, 0x0, 0x0, 0x0, 0x61, 0xcf, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x6, 0x0, 0x7, 0x0, 0x53, 0xaf, 0x93, 0x65, 0x0, 0x0, 0x0, 0x0, 0x61, 0xcf, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2e, 0x0, 0x1, 0x0, 0x0, 0x0, 0x53, 0xaf, 0x93, 0x65, 0x0, 0x0, 0x0, 0x0, 0x61, 0xcf, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
}
var data2 []byte = []byte{
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0x99, 0x98,
0x99, 0x98,
0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0x99, 0x98,
0x99, 0x98,
0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0x99, 0x98,
0x99, 0x98,
0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0xEE, 0xFF, 0x78, 0x78, 0xEE, 0xFF, 0x78, 0x78,
0x99, 0x98,
0x99, 0x98,
0xEE, 0xFF, 0x78, 0x78,
}
func BenchmarkUnpackDeviceInputEvents(b *testing.B) {
for it := 0; it < b.N; it++ {
e := UnpackDeviceInputEvents(data)
for _, ev := range e {
eventPool.Put(ev)
}
}
}
func BenchmarkUnsafeUnpackDeviceInputEvents(b *testing.B) {
for it := 0; it < b.N; it++ {
UnsafeUnpackDeviceInputEvents(data)
}
}
func TestUnit(t *testing.T) {
e := UnpackDeviceInputEvents(data)
e2 := UnsafeUnpackDeviceInputEvents(data)
for index, ev := range e {
assert.Equal(t, (e2)[index].Value, ev.Value)
assert.Equal(t, (e2)[index].Type, ev.Type)
assert.Equal(t, (e2)[index].Time, ev.Time)
assert.Equal(t, (e2)[index].Time.Nano(), ev.Time.Nano())
assert.Equal(t, (e2)[index].String(), ev.String())
}
e = UnpackDeviceInputEvents(data2)
e2 = UnsafeUnpackDeviceInputEvents(data2)
for index, ev := range e {
assert.Equal(t, (e2)[index].Value, ev.Value)
assert.Equal(t, (e2)[index].Type, ev.Type)
assert.Equal(t, (e2)[index].Time, ev.Time)
assert.Equal(t, (e2)[index].Time.Nano(), ev.Time.Nano())
assert.Equal(t, (e2)[index].String(), ev.String())
}
}