@@ -23,7 +23,7 @@ import (
2323 "github.com/stretchr/testify/require"
2424)
2525
26- var items = Items {
26+ var testItems = Items {
2727 Refable : Refable {Ref : MustCreateRef ("Dog" )},
2828 CommonValidations : CommonValidations {
2929 Maximum : float64Ptr (100 ),
@@ -76,17 +76,17 @@ const itemsJSON = `{
7676func TestIntegrationItems (t * testing.T ) {
7777 var actual Items
7878 require .NoError (t , json .Unmarshal ([]byte (itemsJSON ), & actual ))
79- assert .EqualValues (t , actual , items )
79+ assert .EqualValues (t , actual , testItems )
8080
81- assertParsesJSON (t , itemsJSON , items )
81+ assertParsesJSON (t , itemsJSON , testItems )
8282}
8383
8484func TestTypeNameItems (t * testing.T ) {
8585 var nilItems Items
8686 assert .Equal (t , "" , nilItems .TypeName ())
8787
88- assert .Equal (t , "date" , items .TypeName ())
89- assert .Equal (t , "" , items .ItemsTypeName ())
88+ assert .Equal (t , "date" , testItems .TypeName ())
89+ assert .Equal (t , "" , testItems .ItemsTypeName ())
9090
9191 nested := Items {
9292 SimpleSchema : SimpleSchema {
@@ -151,39 +151,47 @@ func TestItemsBuilder(t *testing.T) {
151151}
152152
153153func TestJSONLookupItems (t * testing.T ) {
154- res , err := items .JSONLookup ("$ref" )
155- require .NoError (t , err )
156- require .NotNil (t , res )
157- require .IsType (t , & Ref {}, res )
158-
159- var ok bool
160- ref , ok := res .(* Ref )
161- require .True (t , ok )
162- assert .EqualValues (t , MustCreateRef ("Dog" ), * ref )
163-
164- var max * float64
165- res , err = items .JSONLookup ("maximum" )
166- require .NoError (t , err )
167- require .NotNil (t , res )
168- require .IsType (t , max , res )
169-
170- max , ok = res .(* float64 )
171- require .True (t , ok )
172- assert .InDelta (t , float64 (100 ), * max , epsilon )
173-
174- var f string
175- res , err = items .JSONLookup ("collectionFormat" )
176- require .NoError (t , err )
177- require .NotNil (t , res )
178- require .IsType (t , f , res )
179-
180- f , ok = res .(string )
181- require .True (t , ok )
182- assert .Equal (t , "csv" , f )
183-
184- res , err = items .JSONLookup ("unknown" )
185- require .Error (t , err )
186- require .Nil (t , res )
154+ t .Run (`lookup should find "$ref"` , func (t * testing.T ) {
155+ res , err := testItems .JSONLookup ("$ref" )
156+ require .NoError (t , err )
157+ require .NotNil (t , res )
158+ require .IsType (t , & Ref {}, res )
159+
160+ ref , ok := res .(* Ref )
161+ require .True (t , ok )
162+ assert .EqualValues (t , MustCreateRef ("Dog" ), * ref )
163+ })
164+
165+ t .Run (`lookup should find "maximum"` , func (t * testing.T ) {
166+ var maximum * float64
167+ res , err := testItems .JSONLookup ("maximum" )
168+ require .NoError (t , err )
169+ require .NotNil (t , res )
170+ require .IsType (t , maximum , res )
171+
172+ var ok bool
173+ maximum , ok = res .(* float64 )
174+ require .True (t , ok )
175+ assert .InDelta (t , float64 (100 ), * maximum , epsilon )
176+ })
177+
178+ t .Run (`lookup should find "collectionFormat"` , func (t * testing.T ) {
179+ var f string
180+ res , err := testItems .JSONLookup ("collectionFormat" )
181+ require .NoError (t , err )
182+ require .NotNil (t , res )
183+ require .IsType (t , f , res )
184+
185+ f , ok := res .(string )
186+ require .True (t , ok )
187+ assert .Equal (t , "csv" , f )
188+ })
189+
190+ t .Run (`lookup should fail on "unknown"` , func (t * testing.T ) {
191+ res , err := testItems .JSONLookup ("unknown" )
192+ require .Error (t , err )
193+ require .Nil (t , res )
194+ })
187195}
188196
189197func TestItemsWithValidation (t * testing.T ) {
0 commit comments