pkg.re/essentialkaos/ek.10@v12.41.0+incompatible/version/example_test.go (about) 1 package version 2 3 // ////////////////////////////////////////////////////////////////////////////////// // 4 // // 5 // Copyright (c) 2022 ESSENTIAL KAOS // 6 // Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0> // 7 // // 8 // ////////////////////////////////////////////////////////////////////////////////// // 9 10 import ( 11 "fmt" 12 ) 13 14 // ////////////////////////////////////////////////////////////////////////////////// // 15 16 func ExampleParse() { 17 v, err := Parse("6.12.1-beta2+exp.sha.5114f85") 18 19 if err != nil { 20 fmt.Printf("Error: %v\n", err) 21 return 22 } 23 24 fmt.Printf("Major: %d\n", v.Major()) 25 fmt.Printf("Minor: %d\n", v.Minor()) 26 fmt.Printf("Patch: %d\n", v.Patch()) 27 fmt.Printf("PreRelease: %s\n", v.PreRelease()) 28 fmt.Printf("Build: %s\n", v.Build()) 29 30 // Output: 31 // Major: 6 32 // Minor: 12 33 // Patch: 1 34 // PreRelease: beta2 35 // Build: exp.sha.5114f85 36 } 37 38 func ExampleVersion_Major() { 39 v, _ := Parse("4.12.7") 40 41 fmt.Println(v.Major()) 42 43 // Output: 44 // 4 45 } 46 47 func ExampleVersion_Minor() { 48 v, _ := Parse("4.12.7") 49 50 fmt.Println(v.Minor()) 51 52 // Output: 53 // 12 54 } 55 56 func ExampleVersion_Patch() { 57 v, _ := Parse("4.12.7") 58 59 fmt.Println(v.Patch()) 60 61 // Output: 62 // 7 63 } 64 65 func ExampleVersion_PreRelease() { 66 v, _ := Parse("4.12.7-rc1") 67 68 fmt.Println(v.PreRelease()) 69 70 // Output: 71 // rc1 72 } 73 74 func ExampleVersion_Build() { 75 v, _ := Parse("4.12.7+2f6c6ea6287d2f14") 76 77 fmt.Println(v.Build()) 78 79 // Output: 80 // 2f6c6ea6287d2f14 81 } 82 83 func ExampleVersion_String() { 84 v, _ := Parse("6.12.1-beta2+exp.sha.5114f85") 85 86 fmt.Println(v.String()) 87 88 // Output: 89 // 6.12.1-beta2+exp.sha.5114f85 90 } 91 92 func ExampleVersion_Int() { 93 v, _ := Parse("14.8.22") 94 95 fmt.Println(v.Int()) 96 97 // Output: 98 // 14008022 99 } 100 101 func ExampleVersion_Equal() { 102 v1, _ := Parse("1") 103 v2, _ := Parse("1.0.0") 104 v3, _ := Parse("1.0.1") 105 106 fmt.Printf("%s = %s → %t\n", v1.String(), v2.String(), v1.Equal(v2)) 107 fmt.Printf("%s = %s → %t\n", v1.String(), v3.String(), v1.Equal(v3)) 108 109 // Output: 110 // 1 = 1.0.0 → true 111 // 1 = 1.0.1 → false 112 } 113 114 func ExampleVersion_Less() { 115 v1, _ := Parse("1") 116 v2, _ := Parse("1.0.0") 117 v3, _ := Parse("1.0.1") 118 119 fmt.Printf("%s < %s → %t\n", v1.String(), v2.String(), v1.Less(v2)) 120 fmt.Printf("%s < %s → %t\n", v1.String(), v3.String(), v1.Less(v3)) 121 122 // Output: 123 // 1 < 1.0.0 → false 124 // 1 < 1.0.1 → true 125 } 126 127 func ExampleVersion_Greater() { 128 v1, _ := Parse("1") 129 v2, _ := Parse("1.0.0") 130 v3, _ := Parse("1.0.1") 131 132 fmt.Printf("%s > %s → %t\n", v1.String(), v2.String(), v1.Greater(v2)) 133 fmt.Printf("%s > %s → %t\n", v3.String(), v1.String(), v3.Greater(v1)) 134 135 // Output: 136 // 1 > 1.0.0 → false 137 // 1.0.1 > 1 → true 138 } 139 140 func ExampleVersion_Contains() { 141 v1, _ := Parse("1.0") 142 v2, _ := Parse("1.0.1") 143 v3, _ := Parse("1.1") 144 145 fmt.Printf("%s contains %s → %t\n", v1.String(), v2.String(), v1.Contains(v2)) 146 fmt.Printf("%s contains %s → %t\n", v1.String(), v3.String(), v1.Contains(v3)) 147 148 // Output: 149 // 1.0 contains 1.0.1 → true 150 // 1.0 contains 1.1 → false 151 }