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  }