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  }