diff options
author | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-26 20:33:44 +0800 |
---|---|---|
committer | Taylor Gerring <taylor.gerring@gmail.com> | 2015-03-26 20:33:44 +0800 |
commit | ca03e976976a03d278da227fe1ec9966f23484ba (patch) | |
tree | 408eb00bb54ccc10d831523690289d85b53a1f9e | |
parent | c139af582663d760f58e7b50dcb9f355c47ef47e (diff) | |
download | go-tangerine-ca03e976976a03d278da227fe1ec9966f23484ba.tar.gz go-tangerine-ca03e976976a03d278da227fe1ec9966f23484ba.tar.zst go-tangerine-ca03e976976a03d278da227fe1ec9966f23484ba.zip |
Add InvalidTypeError
-rw-r--r-- | rpc/messages.go | 16 | ||||
-rw-r--r-- | rpc/messages_test.go | 9 |
2 files changed, 25 insertions, 0 deletions
diff --git a/rpc/messages.go b/rpc/messages.go index 7f5ebab11..5c498234f 100644 --- a/rpc/messages.go +++ b/rpc/messages.go @@ -21,6 +21,22 @@ import ( "fmt" ) +type InvalidTypeError struct { + method string + msg string +} + +func (e *InvalidTypeError) Error() string { + return fmt.Sprintf("invalid type on field %s: %s", e.method, e.msg) +} + +func NewInvalidTypeError(method, msg string) *InvalidTypeError { + return &InvalidTypeError{ + method: method, + msg: msg, + } +} + type InsufficientParamsError struct { have int want int diff --git a/rpc/messages_test.go b/rpc/messages_test.go index 5274c91e4..91f0152dc 100644 --- a/rpc/messages_test.go +++ b/rpc/messages_test.go @@ -4,6 +4,15 @@ import ( "testing" ) +func TestInvalidTypeError(t *testing.T) { + err := NewInvalidTypeError("testField", "not string") + expected := "invalid type on field testField: not string" + + if err.Error() != expected { + t.Error(err.Error()) + } +} + func TestInsufficientParamsError(t *testing.T) { err := NewInsufficientParamsError(0, 1) expected := "insufficient params, want 1 have 0" |