@@ -181,7 +181,7 @@ func assertSomeOperationParams(t *testing.T, operations map[string]*spec.Operati
181181 t .Helper ()
182182 op , okParam := operations ["someOperation" ]
183183 assert .TrueT (t , okParam )
184- assert .Len (t , op .Parameters , 12 )
184+ assert .Len (t , op .Parameters , 13 )
185185
186186 for _ , param := range op .Parameters {
187187 switch param .Name {
@@ -215,6 +215,8 @@ func assertSomeOperationParams(t *testing.T, operations map[string]*spec.Operati
215215 assert .FalseT (t , param .ExclusiveMinimum )
216216 assert .EqualValues (t , 2 , param .Default , "%s default value is incorrect" , param .Name )
217217 assert .EqualValues (t , 27 , param .Example )
218+ require .NotNil (t , param .MultipleOf )
219+ assert .InDeltaT (t , 3.00 , * param .MultipleOf , epsilon )
218220
219221 case paramHdrName :
220222 assert .EqualT (t , "Name of this no model instance" , param .Description )
@@ -368,6 +370,26 @@ func assertSomeOperationParams(t *testing.T, operations map[string]*spec.Operati
368370 assert .EqualT (t , int64 (10 ), * itprop3 .MaxLength , "'bar_slice.items.items.items.maxLength' should have been 10" )
369371 assert .EqualT (t , "\\ w+" , itprop3 .Pattern , "'bar_slice.items.items.items.pattern' should have \\ w+" )
370372
373+ case "num_slice" :
374+ assert .EqualT (t , "a NumSlice has numeric items with item-level validation" , param .Description )
375+ assert .EqualT (t , "query" , param .In )
376+ assert .EqualT (t , "array" , param .Type )
377+ require .NotNil (t , param .MinItems )
378+ assert .EqualT (t , int64 (1 ), * param .MinItems )
379+ require .NotNil (t , param .MaxItems )
380+ assert .EqualT (t , int64 (20 ), * param .MaxItems )
381+
382+ itprop := param .Items
383+ require .NotNil (t , itprop )
384+ require .NotNil (t , itprop .Minimum )
385+ assert .InDeltaT (t , 5.00 , * itprop .Minimum , epsilon , "'num_slice.items.minimum' should have been 5" )
386+ require .NotNil (t , itprop .Maximum )
387+ assert .InDeltaT (t , 100.00 , * itprop .Maximum , epsilon , "'num_slice.items.maximum' should have been 100" )
388+ require .NotNil (t , itprop .MultipleOf )
389+ assert .InDeltaT (t , 5.00 , * itprop .MultipleOf , epsilon , "'num_slice.items.multipleOf' should have been 5" )
390+ assert .TrueT (t , itprop .UniqueItems , "'num_slice.items' should have been unique" )
391+ assert .EqualT (t , "csv" , itprop .CollectionFormat , "'num_slice.items.collectionFormat' should have been csv" )
392+
371393 default :
372394 assert .Fail (t , "unknown property: " + param .Name )
373395 }
@@ -379,7 +401,7 @@ func assertAnotherOperationParamOrder(t *testing.T, operations map[string]*spec.
379401
380402 order , ok := operations ["anotherOperation" ]
381403 assert .TrueT (t , ok )
382- assert .Len (t , order .Parameters , 12 )
404+ assert .Len (t , order .Parameters , 13 )
383405
384406 for index , param := range order .Parameters {
385407 switch param .Name {
@@ -405,8 +427,10 @@ func assertAnotherOperationParamOrder(t *testing.T, operations map[string]*spec.
405427 assert .EqualT (t , 9 , index , "%s index incorrect" , param .Name )
406428 case paramBarSlice :
407429 assert .EqualT (t , 10 , index , "%s index incorrect" , param .Name )
408- case "items " :
430+ case "num_slice " :
409431 assert .EqualT (t , 11 , index , "%s index incorrect" , param .Name )
432+ case "items" :
433+ assert .EqualT (t , 12 , index , "%s index incorrect" , param .Name )
410434 default :
411435 assert .Fail (t , "unknown property: " + param .Name )
412436 }
0 commit comments