github.com/azunymous/cdx@v0.0.0-20201122180449-fbb46cc4d252/vcs/gogit/increase_test.go (about) 1 package gogit 2 3 import ( 4 "github.com/azunymous/cdx/versioned" 5 "testing" 6 ) 7 8 func Test_increase(t *testing.T) { 9 type args struct { 10 latest string 11 field versioned.Field 12 } 13 tests := []struct { 14 name string 15 args args 16 want string 17 wantErr bool 18 }{ 19 { 20 name: "increases patch", 21 args: args{ 22 latest: "0.0.0", 23 field: versioned.Patch, 24 }, 25 want: "0.0.1", 26 wantErr: false, 27 }, 28 { 29 name: "increases minor", 30 args: args{ 31 latest: "0.0.0", 32 field: versioned.Minor, 33 }, 34 want: "0.1.0", 35 wantErr: false, 36 }, 37 { 38 name: "increases major", 39 args: args{ 40 latest: "0.0.0", 41 field: versioned.Major, 42 }, 43 want: "1.0.0", 44 wantErr: false, 45 }, 46 47 { 48 name: "increases patch 2", 49 args: args{ 50 latest: "0.0.1", 51 field: versioned.Patch, 52 }, 53 want: "0.0.2", 54 wantErr: false, 55 }, 56 { 57 name: "increases minor 2", 58 args: args{ 59 latest: "0.1.0", 60 field: versioned.Minor, 61 }, 62 want: "0.2.0", 63 wantErr: false, 64 }, 65 { 66 name: "increases major 2", 67 args: args{ 68 latest: "1.0.0", 69 field: versioned.Major, 70 }, 71 want: "2.0.0", 72 wantErr: false, 73 }, 74 75 { 76 name: "increases patch", 77 args: args{ 78 latest: "0.0.0", 79 field: versioned.Patch, 80 }, 81 want: "0.0.1", 82 wantErr: false, 83 }, 84 { 85 name: "increases minor", 86 args: args{ 87 latest: "0.0.0", 88 field: versioned.Minor, 89 }, 90 want: "0.1.0", 91 wantErr: false, 92 }, 93 { 94 name: "increases major", 95 args: args{ 96 latest: "0.0.0", 97 field: versioned.Major, 98 }, 99 want: "1.0.0", 100 wantErr: false, 101 }, 102 103 { 104 name: "resets patch count minor", 105 args: args{ 106 latest: "0.1.1", 107 field: versioned.Minor, 108 }, 109 want: "0.2.0", 110 wantErr: false, 111 }, 112 { 113 name: "resets patch count major", 114 args: args{ 115 latest: "1.0.1", 116 field: versioned.Major, 117 }, 118 want: "2.0.0", 119 wantErr: false, 120 }, 121 { 122 name: "resets minor count major", 123 args: args{ 124 latest: "1.1.0", 125 field: versioned.Major, 126 }, 127 want: "2.0.0", 128 wantErr: false, 129 }, 130 { 131 name: "resets all count major", 132 args: args{ 133 latest: "1.1.1", 134 field: versioned.Major, 135 }, 136 want: "2.0.0", 137 wantErr: false, 138 }, 139 } 140 for _, tt := range tests { 141 t.Run(tt.name, func(t *testing.T) { 142 got, err := increase(tt.args.latest, tt.args.field) 143 if (err != nil) != tt.wantErr { 144 t.Errorf("increase() error = %v, wantErr %v", err, tt.wantErr) 145 return 146 } 147 if got != tt.want { 148 t.Errorf("increase() got = %v, want %v", got, tt.want) 149 } 150 }) 151 } 152 }