File: uuid_test.go

package info (click to toggle)
golang-github-paypal-gatt 0.0~git20151011.4ae819d-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 464 kB
  • sloc: ansic: 83; asm: 18; makefile: 2
file content (54 lines) | stat: -rw-r--r-- 1,158 bytes parent folder | download | duplicates (2)
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
package gatt

import (
	"bytes"
	"testing"
)

func TestUUID16(t *testing.T) {
	if want, got := (UUID{[]byte{0x00, 0x18}}), UUID16(0x1800); !got.Equal(want) {
		t.Errorf("UUID16: got %x, want %x", got, want)
	}
}

func TestReverse(t *testing.T) {
	cases := []struct {
		fwd  []byte
		back []byte
	}{
		{fwd: []byte{0, 1}, back: []byte{1, 0}},
		{fwd: []byte{0, 1, 2}, back: []byte{2, 1, 0}},
		{fwd: []byte{0, 1, 2, 3}, back: []byte{3, 2, 1, 0}},
		{
			fwd:  []byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
			back: []byte{15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0},
		},
	}

	for _, tt := range cases {
		got := reverse(tt.fwd)
		if !bytes.Equal(got, tt.back) {
			t.Errorf("reverse(%x): got %x want %x", tt.fwd, got, tt.back)
		}

		u := UUID{tt.fwd}
		got = reverse(u.b)
		if !bytes.Equal(got, tt.back) {
			t.Errorf("UUID.reverse(%x): got %x want %x", tt.fwd, got, tt.back)
		}
	}
}

func BenchmarkReverseBytes16(b *testing.B) {
	u := UUID{make([]byte, 2)}
	for i := 0; i < b.N; i++ {
		reverse(u.b)
	}
}

func BenchmarkReverseBytes128(b *testing.B) {
	u := UUID{make([]byte, 16)}
	for i := 0; i < b.N; i++ {
		reverse(u.b)
	}
}