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  }