machine_test.go 694 B

123456789101112131415161718192021222324252627
  1. package urn
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. )
  6. func TestParse(t *testing.T) {
  7. for ii, tt := range tests {
  8. urn, err := NewMachine().Parse([]byte(tt.in))
  9. ok := err == nil
  10. if ok {
  11. assert.True(t, tt.ok, herror(ii, tt))
  12. assert.Equal(t, tt.obj.prefix, urn.prefix, herror(ii, tt))
  13. assert.Equal(t, tt.obj.ID, urn.ID, herror(ii, tt))
  14. assert.Equal(t, tt.obj.SS, urn.SS, herror(ii, tt))
  15. assert.Equal(t, tt.str, urn.String(), herror(ii, tt))
  16. assert.Equal(t, tt.norm, urn.Normalize().String(), herror(ii, tt))
  17. } else {
  18. assert.False(t, tt.ok, herror(ii, tt))
  19. assert.Empty(t, urn, herror(ii, tt))
  20. assert.Equal(t, tt.estr, err.Error())
  21. }
  22. }
  23. }