urn_test.go 888 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package urn
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. )
  6. func TestDefaultPrefixWhenString(t *testing.T) {
  7. u := &URN{
  8. ID: "pippo",
  9. SS: "pluto",
  10. }
  11. assert.Equal(t, "urn:pippo:pluto", u.String())
  12. }
  13. func TestParseSignature(t *testing.T) {
  14. urn, ok := Parse([]byte(``))
  15. assert.Nil(t, urn)
  16. assert.False(t, ok)
  17. }
  18. func TestLexicalEquivalence(t *testing.T) {
  19. for ii, tt := range equivalenceTests {
  20. urnlx, oklx := Parse(tt.lx)
  21. urnrx, okrx := Parse(tt.rx)
  22. if oklx && okrx {
  23. assert.True(t, urnlx.Equal(urnlx))
  24. assert.True(t, urnrx.Equal(urnrx))
  25. if tt.eq {
  26. assert.True(t, urnlx.Equal(urnrx), ierror(ii))
  27. assert.True(t, urnrx.Equal(urnlx), ierror(ii))
  28. } else {
  29. assert.False(t, urnlx.Equal(urnrx), ierror(ii))
  30. assert.False(t, urnrx.Equal(urnlx), ierror(ii))
  31. }
  32. } else {
  33. t.Log("Something wrong in the testing table ...")
  34. }
  35. }
  36. }