File tree Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Original file line number Diff line number Diff line change 1+ package helpers
2+
3+ import (
4+ "strings"
5+ )
6+
7+ // VersionToFloat converts a version string to a float32 for easier comparison.
8+ func VersionToFloat (version string ) float32 {
9+ switch {
10+ case strings .HasPrefix (version , "3.0" ):
11+ return 3.0
12+ default :
13+ return 3.1
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package helpers
2+
3+ import (
4+ "testing"
5+
6+ "github.com/stretchr/testify/assert"
7+ )
8+
9+ func TestVersionToFloat (t * testing.T ) {
10+ tests := []struct {
11+ name string
12+ version string
13+ expected float32
14+ }{
15+ {
16+ name : "OpenAPI 3.0" ,
17+ version : "3.0" ,
18+ expected : 3.0 ,
19+ },
20+ {
21+ name : "OpenAPI 3.0.0" ,
22+ version : "3.0.0" ,
23+ expected : 3.0 ,
24+ },
25+ {
26+ name : "OpenAPI 3.0.3" ,
27+ version : "3.0.3" ,
28+ expected : 3.0 ,
29+ },
30+ {
31+ name : "OpenAPI 3.1" ,
32+ version : "3.1" ,
33+ expected : 3.1 ,
34+ },
35+ {
36+ name : "OpenAPI 3.1.0" ,
37+ version : "3.1.0" ,
38+ expected : 3.1 ,
39+ },
40+ {
41+ name : "OpenAPI 3.1.1" ,
42+ version : "3.1.1" ,
43+ expected : 3.1 ,
44+ },
45+ {
46+ name : "default to 3.1 for unknown version" ,
47+ version : "4.0" ,
48+ expected : 3.1 ,
49+ },
50+ {
51+ name : "default to 3.1 for empty string" ,
52+ version : "" ,
53+ expected : 3.1 ,
54+ },
55+ }
56+
57+ for _ , tt := range tests {
58+ t .Run (tt .name , func (t * testing.T ) {
59+ result := VersionToFloat (tt .version )
60+ assert .Equal (t , tt .expected , result )
61+ })
62+ }
63+ }
You can’t perform that action at this time.
0 commit comments