decred.org/dcrdex@v1.0.5/dex/errors_test.go (about) 1 package dex 2 3 import ( 4 "errors" 5 "testing" 6 ) 7 8 type testErr string 9 10 func (te testErr) Error() string { 11 return string(te) 12 } 13 14 const ( 15 err0 = testErr("other error") 16 err1 = ErrorKind("error 1") 17 err2 = ErrorKind("error 2") 18 ) 19 20 func TestDexError(t *testing.T) { 21 22 dexErr := NewError(err1, "stuff") 23 24 var err1Back ErrorKind 25 if !errors.As(dexErr, &err1Back) { 26 t.Errorf("it wasn't an ErrorKind") 27 } 28 wantErrStr := err1.Error() + ": " + "stuff" 29 if dexErr.Error() != wantErrStr { 30 t.Errorf("incorrect error string %v, want %v", dexErr.Error(), wantErrStr) 31 } 32 33 if !errors.Is(dexErr, err1) { 34 t.Errorf("it wasn't err1") 35 } 36 if errors.Is(dexErr, err2) { 37 t.Errorf("it was err2") 38 } 39 40 otherErr := NewError(err0, "other stuff") 41 var err0Back testErr 42 if !errors.As(otherErr, &err0Back) { 43 t.Errorf("it wasn't an testErr") 44 } 45 }