| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package urn
- import (
- "testing"
- "github.com/stretchr/testify/require"
- )
- func TestUrn(t *testing.T) {
- for ii, tt := range tests {
- urn, ok := Parse(tt.in)
- if ok {
- require.True(t, tt.ok, herror(ii, tt))
- require.Equal(t, tt.obj.prefix, urn.prefix, herror(ii, tt))
- require.Equal(t, tt.obj.ID, urn.ID, herror(ii, tt))
- require.Equal(t, tt.obj.SS, urn.SS, herror(ii, tt))
- require.Equal(t, tt.str, urn.String(), herror(ii, tt))
- require.Equal(t, tt.norm, urn.Normalize().String(), herror(ii, tt))
- } else {
- require.False(t, tt.ok, herror(ii, tt))
- require.Empty(t, urn, herror(ii, tt))
- }
- }
- }
- func TestLexicalEquivalence(t *testing.T) {
- for ii, tt := range equivalenceTests {
- urnlx, oklx := Parse(tt.lx)
- urnrx, okrx := Parse(tt.rx)
- if oklx && okrx {
- require.True(t, urnlx.Equal(urnlx))
- require.True(t, urnrx.Equal(urnrx))
- if tt.eq {
- require.True(t, urnlx.Equal(urnrx), ierror(ii))
- require.True(t, urnrx.Equal(urnlx), ierror(ii))
- } else {
- require.False(t, urnlx.Equal(urnrx), ierror(ii))
- require.False(t, urnrx.Equal(urnlx), ierror(ii))
- }
- } else {
- t.Log("Something wrong in the testing table ...")
- }
- }
- }
- func TestDefaultPrefixWhenString(t *testing.T) {
- u := &URN{
- ID: "pippo",
- SS: "pluto",
- }
- require.Equal(t, "urn:pippo:pluto", u.String())
- }
|