|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package worker
-
- import (
- "bytes"
- "testing"
- )
-
- var (
- outpackcases = map[uint32]map[string]string{
- dtCanDo: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x01\x00\x00\x00\x01a",
- "data": "a",
- },
- dtCanDoTimeout: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x17\x00\x00\x00\x06a\x00\x00\x00\x00\x01",
- "data": "a\x00\x00\x00\x00\x01",
- },
- dtCantDo: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x02\x00\x00\x00\x01a",
- "data": "a",
- },
- dtResetAbilities: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x03\x00\x00\x00\x00",
- },
- dtPreSleep: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x04\x00\x00\x00\x00",
- },
- dtGrabJob: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x09\x00\x00\x00\x00",
- },
- dtGrabJobUniq: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x1E\x00\x00\x00\x00",
- },
- dtWorkData: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x1C\x00\x00\x00\x03a\x00b",
- "data": "a\x00b",
- },
- dtWorkWarning: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x1D\x00\x00\x00\x03a\x00b",
- "data": "a\x00b",
- },
- dtWorkStatus: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x0C\x00\x00\x00\x08a\x0050\x00100",
- "data": "a\x0050\x00100",
- },
- dtWorkComplete: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x0D\x00\x00\x00\x03a\x00b",
- "data": "a\x00b",
- },
- dtWorkFail: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x0E\x00\x00\x00\x01a",
- "handle": "a",
- },
- dtWorkException: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x19\x00\x00\x00\x03a\x00b",
- "data": "a\x00b",
- },
- dtSetClientId: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x16\x00\x00\x00\x01a",
- "data": "a",
- },
- dtAllYours: map[string]string{
- "src": "\x00REQ\x00\x00\x00\x18\x00\x00\x00\x00",
- },
- }
- )
-
- func TestOutPack(t *testing.T) {
- for k, v := range outpackcases {
- outpack := getOutPack()
- outpack.dataType = k
- if handle, ok := v["handle"]; ok {
- outpack.handle = handle
- }
- if data, ok := v["data"]; ok {
- outpack.data = []byte(data)
- }
- data := outpack.Encode()
- if bytes.Compare([]byte(v["src"]), data) != 0 {
- t.Errorf("%d: %X expected, %X got.", k, v["src"], data)
- }
- }
- }
-
- func BenchmarkEncode(b *testing.B) {
- for i := 0; i < b.N; i++ {
- for k, v := range outpackcases {
- outpack := getOutPack()
- outpack.dataType = k
- if handle, ok := v["handle"]; ok {
- outpack.handle = handle
- }
- if data, ok := v["data"]; ok {
- outpack.data = []byte(data)
- }
- outpack.Encode()
- }
- }
- }
|