-
Notifications
You must be signed in to change notification settings - Fork 1
/
errors_test.go
104 lines (103 loc) · 2.99 KB
/
errors_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package gencheck
//
// import (
// "encoding/json"
// "errors"
// "testing"
//
// "github.com/stretchr/testify/suite"
// )
//
// // NoValidate
// type NoValidate struct{}
//
// // HasValidate
// type HasValidate struct{}
//
// // Validate
// func (s HasValidate) Validate() error {
// return errors.New("Validating 'HasValidate' instance")
// }
//
// // gencheckErrorsTestSuite
// type gencheckErrorsTestSuite struct {
// suite.Suite
// }
//
// // TestgencheckTypesTestSuite
// func TestgencheckTypesTestSuite(t *testing.T) {
// suite.Run(t, new(gencheckErrorsTestSuite))
// }
//
// // TestValidate
// func (s *gencheckErrorsTestSuite) TestValidate() {
// a := HasValidate{}
// b := &HasValidate{}
// c := NoValidate{}
//
// err := Validate(a)
// s.Equal(errors.New("Validating 'HasValidate' instance"), err)
//
// err = Validate(b)
// s.Equal(errors.New("Validating 'HasValidate' instance"), err)
//
// err = Validate(c)
// s.Nil(err)
// }
//
// // TestErrorSliceError_Empty
// func (s *gencheckErrorsTestSuite) TestErrorSliceError_Empty() {
// ea := gencheck.ErrorSlice{}
//
// s.Equal("[]", ea.Error())
// }
//
// // TestErrorSliceError_MultiElements
// func (s *gencheckErrorsTestSuite) TestErrorSliceError_MultiElements() {
// ea := gencheck.ErrorSlice{
// errors.New("foo"),
// errors.New("bar"),
// nil,
// gencheck.ErrorSlice{errors.New("this is"), errors.New("nested")},
// }
//
// s.Equal("[\"foo\",\"bar\",null,[\"this is\",\"nested\"]]", ea.Error())
// }
//
// // TestErrorMapError_Empty
// func (s *gencheckErrorsTestSuite) TestErrorMapError_Empty() {
// em := gencheck.ErrorMap{}
// s.Equal("{}", em.Error())
// }
//
// // TestErrorMapError_NilValue
// func (s *gencheckErrorsTestSuite) TestErrorMapError_NilValue() {
// em := gencheck.ErrorMap{
// "flat": nil,
// "nestedErrorSlice": gencheck.ErrorSlice{errors.New("this is"), errors.New("nested")},
// "nestedEmptyErrorMap": make(gencheck.ErrorMap),
// }
//
// expectedJSONAsMap := make(map[string]interface{})
// actualJSONAsMap := make(map[string]interface{})
// json.Unmarshal([]byte(`{"flat": null,"nestedErrorSlice": ["this is","nested"],"nestedEmptyErrorMap": {}}`), &expectedJSONAsMap)
// json.Unmarshal([]byte(em.Error()), &actualJSONAsMap)
//
// s.Equal(expectedJSONAsMap, actualJSONAsMap)
// }
//
// // TestErrorMapError_MultipleValues
// func (s *gencheckErrorsTestSuite) TestErrorMapError_MultipleValues() {
// em := gencheck.ErrorMap{
// "flat": errors.New(`"flat" "error"`),
// "nestedErrorSlice": gencheck.ErrorSlice{errors.New("this is"), errors.New("nested")},
// "nestedEmptyErrorMap": make(gencheck.ErrorMap),
// }
//
// expectedJSONAsMap := make(map[string]interface{})
// actualJSONAsMap := make(map[string]interface{})
// json.Unmarshal([]byte(`{"flat": "\"flat\" \"error\"","nestedErrorSlice": ["this is","nested"],"nestedEmptyErrorMap": {}}`), &expectedJSONAsMap)
// json.Unmarshal([]byte(em.Error()), &actualJSONAsMap)
//
// s.Equal(expectedJSONAsMap, actualJSONAsMap)
// }