X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fb62ab318be2202b9d403e65d6dc86a9d7e72a3a..25d58aaf041ac109ff76db5168c193272958d454:/sdk/go/blockdigest/blockdigest_test.go diff --git a/sdk/go/blockdigest/blockdigest_test.go b/sdk/go/blockdigest/blockdigest_test.go new file mode 100644 index 0000000000..9081bb846c --- /dev/null +++ b/sdk/go/blockdigest/blockdigest_test.go @@ -0,0 +1,45 @@ +package blockdigest + +import ( + "strings" + "testing" +) + +func expectValidDigestString(t *testing.T, s string) { + bd, err := FromString(s) + if err != nil { + t.Fatalf("Expected %s to produce a valid BlockDigest but instead got error: %v", s, err) + } + + expected := strings.ToLower(s) + + if expected != bd.ToString() { + t.Fatalf("Expected %s to be returned by FromString(%s).ToString() but instead we received %s", expected, s, bd.ToString()) + } +} + +func expectInvalidDigestString(t *testing.T, s string) { + _, err := FromString(s) + if err == nil { + t.Fatalf("Expected %s to be an invalid BlockDigest, but did not receive an error", s) + } +} + +func TestValidDigestStrings(t *testing.T) { + expectValidDigestString(t, "01234567890123456789abcdefabcdef") + expectValidDigestString(t, "01234567890123456789ABCDEFABCDEF") + expectValidDigestString(t, "01234567890123456789AbCdEfaBcDeF") +} + +func TestInvalidDigestStrings(t *testing.T) { + expectInvalidDigestString(t, "01234567890123456789abcdefabcdeg") + expectInvalidDigestString(t, "01234567890123456789abcdefabcde") + expectInvalidDigestString(t, "01234567890123456789abcdefabcdefa") + expectInvalidDigestString(t, "g1234567890123456789abcdefabcdef") +} + +func TestBlockDigestWorksAsMapKey(t *testing.T) { + m := make(map[BlockDigest]int) + bd := AssertFromString("01234567890123456789abcdefabcdef") + m[bd] = 5 +}