diff options
author | EuAndreh <eu@euandre.org> | 2025-05-03 19:41:19 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2025-05-03 19:41:19 -0300 |
commit | a6e6896309007fa1013bd51cee125ab8a75f282d (patch) | |
tree | f6839c339e9d282138a793488cd8ac23ca356ac6 /tests/functional/string-round-trip/uuid.go | |
parent | tests/guuid.go: Use os.Exit over assert when testing panic (diff) | |
download | uuid-a6e6896309007fa1013bd51cee125ab8a75f282d.tar.gz uuid-a6e6896309007fa1013bd51cee125ab8a75f282d.tar.xz |
re s/guuid/uuid/g
Diffstat (limited to 'tests/functional/string-round-trip/uuid.go')
-rw-r--r-- | tests/functional/string-round-trip/uuid.go | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/functional/string-round-trip/uuid.go b/tests/functional/string-round-trip/uuid.go new file mode 100644 index 0000000..000d3fb --- /dev/null +++ b/tests/functional/string-round-trip/uuid.go @@ -0,0 +1,62 @@ +package uuid + +import ( + "fmt" + "os" + "reflect" +) + + + +func showColour() bool { + return os.Getenv("NO_COLOUR") == "" +} + +func testing(message string, body func()) { + if showColour() { + fmt.Fprintf( + os.Stderr, + "\033[0;33mtesting\033[0m: %s... ", + message, + ) + body() + fmt.Fprintf(os.Stderr, "\033[0;32mOK\033[0m.\n") + } else { + fmt.Fprintf(os.Stderr, "testing: %s... ", message) + body() + fmt.Fprintf(os.Stderr, "OK.\n") + } +} + +func assertEq(given any, expected any) { + if !reflect.DeepEqual(given, expected) { + if showColour() { + fmt.Fprintf(os.Stderr, "\033[0;31mERR\033[0m.\n") + } else { + fmt.Fprintf(os.Stderr, "ERR.\n") + } + fmt.Fprintf(os.Stderr, "given != expected\n") + fmt.Fprintf(os.Stderr, "given: %#v\n", given) + fmt.Fprintf(os.Stderr, "expected: %#v\n", expected) + os.Exit(1) + } +} + + + +func MainTest() { + testing("string is the same after round-trip", func() { + str1 := New().String() + id, err := FromString(str1) + assertEq(err, nil) + str2 := id.String() + assertEq(str1, str2) + }) + + testing("UUID is the same after round-trip", func() { + id1 := New() + id2, err := FromString(id1.String()) + assertEq(err, nil) + assertEq(id1, id2) + }) +} |