@@ -11,52 +11,65 @@ import (
1111func TestAssign (t * testing.T ) {
1212 assert := require .New (t )
1313
14- r := Root {}
14+ var r * Root
1515
1616 tests := []struct {
1717 ptr jsonpointer.JSONPointer
1818 value interface {}
1919 err error
2020 run func (v interface {})
2121 }{
22- {"/nested/str" , "strval" , nil , func (val interface {}) {
23- assert .Equal (val , r .Nested .String )
24- }},
25- {"/nestedptr/str" , "x" , nil , func (val interface {}) {
26- assert .Equal (val , r .NestedPtr .String )
27- }},
28- {"/nested/entrymap/keyval/name" , "entry-name" , nil , func (v interface {}) {
29- assert .Contains (r .Nested .EntryMap , "keyval" )
30- assert .Equal ("entry-name" , r .Nested .EntryMap ["keyval" ].Name )
31- }},
32- {"/nested/strarray/1" , "strval" , nil , func (v interface {}) {
33- assert .Equal (v , r .Nested .StrArray [1 ])
34- }},
35- {"/nested/intarray/1" , int (1 ), nil , func (v interface {}) {
36- assert .Equal (v , r .Nested .IntArray [1 ])
37- }},
38- {"/nested/anon/value" , "val" , nil , func (v interface {}) {
39- assert .Equal (v , r .Nested .AnonStruct .Value )
40- }},
41- {"/nested/strslice/-" , "val" , nil , func (v interface {}) {
42- assert .Len (r .Nested .StrSlice , 1 )
43- assert .Equal (v , r .Nested .StrSlice [0 ])
44- }},
45- {"/nested/strslice/-" , "val2" , nil , func (v interface {}) {
46- assert .Len (r .Nested .StrSlice , 2 )
47- assert .Equal (v , r .Nested .StrSlice [1 ])
22+ // {"/nested/str", "strval", nil, func(val interface{}) {
23+ // assert.Equal(val, r.Nested.String)
24+ // }},
25+ // {"/nestedptr/str", "x", nil, func(val interface{}) {
26+ // assert.Equal(val, r.NestedPtr.String)
27+ // }},
28+ // {"/nested/entrymap/keyval/name", "entry-name", nil, func(v interface{}) {
29+ // assert.Contains(r.Nested.EntryMap, "keyval")
30+ // assert.Equal("entry-name", r.Nested.EntryMap["keyval"].Name)
31+ // }},
32+ // {"/nested/strarray/1", "strval", nil, func(v interface{}) {
33+ // assert.Equal(v, r.Nested.StrArray[1])
34+ // }},
35+ // {"/nested/intarray/1", int(1), nil, func(v interface{}) {
36+ // assert.Equal(v, r.Nested.IntArray[1])
37+ // }},
38+ // {"/nested/anon/value", "val", nil, func(v interface{}) {
39+ // assert.Equal(v, r.Nested.AnonStruct.Value)
40+ // }},
41+ // {"/nested/strslice/-", "val", nil, func(v interface{}) {
42+ // assert.Len(r.Nested.StrSlice, 1)
43+ // assert.Equal(v, r.Nested.StrSlice[0])
44+ // }},
45+ // {"/nested/strslice/-", "val2", nil, func(v interface{}) {
46+ // assert.Len(r.Nested.StrSlice, 2)
47+ // assert.Equal(v, r.Nested.StrSlice[1])
48+ // }},
49+ // {"/nested/custommap/key", "val", nil, func(v interface{}) {
50+ // assert.Len(r.Nested.CustomMap, 1)
51+ // assert.Contains(r.Nested.CustomMap, Key{"key"})
52+ // }},
53+ // {"/nested/embedded/value", "embed-val", nil, func(v interface{}) {
54+ // assert.Equal(v, r.Nested.Embedded.Value)
55+ // }},
56+ // {"/nested/yield/value", "yielded value", nil, func(v interface{}) {
57+ // assert.Equal(v, r.Nested.Yield.Value)
58+ // }},
59+ {"/nested/interface/private/value" , uint (3 ), nil , func (v interface {}) {
60+ assert .Equal (v , r .Nested .InterContainer .Value ())
4861 }},
4962 }
5063
5164 for i , test := range tests {
52- fmt .Printf ("=== test %d, pointer %s\n " , i , test .ptr )
53- err := jsonpointer .Assign (test .ptr , & r , test .value )
65+ fmt .Printf ("=== RUN TestAssign# %d, pointer %s\n " , i + 1 , test .ptr )
66+ err := jsonpointer .Assign (& r , test .ptr , test .value )
5467 if test .err != nil {
5568 assert .ErrorIs (err , test .err )
5669 } else {
5770 assert .NoError (err )
5871 test .run (test .value )
5972 }
60- fmt .Println ( " \t PASS" )
73+ fmt .Printf ( "--- PASS TestAssign #%d, pointer %s \n " , i , test . ptr )
6174 }
6275}
0 commit comments