...
1 package lderrors
2
3 import (
4 "fmt"
5 "testing"
6
7 "github.com/stretchr/testify/assert"
8 )
9
10 func TestContextErrorMessages(t *testing.T) {
11 params := []struct {
12 err error
13 message string
14 }{
15 {ErrContextUninitialized{}, msgContextUninitialized},
16 {ErrContextKeyEmpty{}, msgContextKeyEmpty},
17 {ErrContextKeyNull{}, msgContextKeyNull},
18 {ErrContextKeyMissing{}, msgContextKeyMissing},
19 {ErrContextKindEmpty{}, msgContextKindEmpty},
20 {ErrContextKindCannotBeKind{}, msgContextKindCannotBeKind},
21 {ErrContextKindMultiForSingleKind{}, msgContextKindMultiForSingleKind},
22 {ErrContextKindMultiWithNoKinds{}, msgContextKindMultiWithNoKinds},
23 {ErrContextKindMultiDuplicates{}, msgContextKindMultiDuplicates},
24 {ErrContextKindInvalidChars{}, msgContextKindInvalidChars},
25 }
26 for _, p := range params {
27 t.Run(fmt.Sprintf("%T", p.err), func(t *testing.T) {
28 assert.Equal(t, p.message, p.err.Error())
29 })
30 }
31
32 t.Run("ErrContextPerKindErrors", func(t *testing.T) {
33 e1 := ErrContextPerKindErrors{
34 Errors: map[string]error{
35 "kind1": ErrContextKeyEmpty{},
36 },
37 }
38 assert.Equal(t, "(kind1) "+ErrContextKeyEmpty{}.Error(), e1.Error())
39
40 e2 := ErrContextPerKindErrors{
41 Errors: map[string]error{
42 "kind1": ErrContextKeyEmpty{},
43 "kind2": ErrContextKeyNull{},
44 },
45 }
46 assert.Equal(t, "(kind1) "+ErrContextKeyEmpty{}.Error()+", (kind2) "+ErrContextKeyNull{}.Error(), e2.Error())
47 })
48 }
49
View as plain text