blob: b8cdfeaefb7dccb17afadd84eea1c84423eab6ed [file] [log] [blame]
Lorenz Brun62a1edd2023-06-20 16:01:44 +02001package msguid
2
3import (
4 "testing"
5
6 "github.com/google/go-cmp/cmp"
7 "github.com/google/uuid"
8)
9
10func TestRoundTrip(t *testing.T) {
11 cases := []struct {
12 name string
13 uuid string
14 expected [16]byte
15 }{
16 {
17 "WikipediaExample1",
18 "00112233-4455-6677-8899-AABBCCDDEEFF",
19 [16]byte{
20 0x33, 0x22, 0x11, 0x00, 0x55, 0x44, 0x77, 0x66,
21 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF,
22 },
23 },
24 }
25 for _, c := range cases {
26 t.Run(c.name, func(t *testing.T) {
27 origUUID := uuid.MustParse(c.uuid)
28 got := From(origUUID)
29 diff := cmp.Diff(c.expected, got)
30 if diff != "" {
31 t.Fatalf("To(%q) returned unexpected result: %v", origUUID, diff)
32 }
33 back := To(got)
34 diff2 := cmp.Diff(origUUID, back)
35 if diff2 != "" {
36 t.Errorf("From(To(%q)) did not return original value: %v", origUUID, diff2)
37 }
38 })
39 }
40}