From 0d89e554313b1c0164f295d92af1ad0cf16a14c4 Mon Sep 17 00:00:00 2001 From: Connor Collins Date: Thu, 1 Jul 2021 22:17:53 -0700 Subject: [PATCH 1/2] table test example --- utils_test.go | 61 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/utils_test.go b/utils_test.go index 8a597fdd..20313bd0 100644 --- a/utils_test.go +++ b/utils_test.go @@ -1,14 +1,15 @@ package sleet import ( - "github.com/google/go-cmp/cmp" "testing" + + "github.com/google/go-cmp/cmp" ) func TestAmountToString(t *testing.T) { t.Run("convert", func(t *testing.T) { actual := AmountToString(&Amount{ - Amount: 100, + Amount: 100, Currency: "USD", }) if !cmp.Equal(actual, "100") { @@ -20,7 +21,7 @@ func TestAmountToString(t *testing.T) { func TestAmountToDecimalString(t *testing.T) { t.Run("convert", func(t *testing.T) { actual := AmountToDecimalString(&Amount{ - Amount: 100, + Amount: 100, Currency: "USD", }) if !cmp.Equal(actual, "1.00") { @@ -30,28 +31,40 @@ func TestAmountToDecimalString(t *testing.T) { } func TestTruncateString(t *testing.T) { - const str = "Test string" - - t.Run("Truncate length less than str length", func(t *testing.T) { - truncated := TruncateString(str, 4) - if !cmp.Equal(truncated, "Test") { - t.Error("Truncated string does not match expected") - } - }) + tests := []struct { + name string + inputStr string + inputTruncLen int + want string + }{ + { + name: "Truncate length less than str length", + inputStr: "Test string", + inputTruncLen: 4, + want: "Test", + }, + { + name: "Truncate length equals str length", + inputStr: "Test String", + inputTruncLen: 11, + want: "Test String", + }, + { + name: "Truncate length greater than str length", + inputStr: "Test String", + inputTruncLen: 20, + want: "Test String", + }, + } - t.Run("Truncate length equals str length", func(t *testing.T) { - truncated := TruncateString(str, len(str)) - if !cmp.Equal(truncated, str) { - t.Error("Truncated string does not match expected") - } - }) - - t.Run("Truncate length greater than str length", func(t *testing.T) { - truncated := TruncateString(str, len(str)+5) - if !cmp.Equal(truncated, str) { - t.Error("Truncated string does not match expected") - } - }) + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + truncated := TruncateString(tt.inputStr, tt.inputTruncLen) + if !cmp.Equal(truncated, tt.want) { + t.Errorf("Truncated string does not match expected: %s", cmp.Diff(truncated, tt.want)) + } + }) + } } func TestDefaultIfEmpty(t *testing.T) { From f1c54a0ebb2845561a88896bb5b06477430dca72 Mon Sep 17 00:00:00 2001 From: Connor Collins Date: Fri, 2 Jul 2021 10:44:57 -0700 Subject: [PATCH 2/2] use args for parameter passing --- utils_test.go | 48 +++++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/utils_test.go b/utils_test.go index 20313bd0..6b5380e5 100644 --- a/utils_test.go +++ b/utils_test.go @@ -31,37 +31,47 @@ func TestAmountToDecimalString(t *testing.T) { } func TestTruncateString(t *testing.T) { + type args struct { + str string + truncateLength int + } + tests := []struct { - name string - inputStr string - inputTruncLen int - want string + name string + args args + want string }{ { - name: "Truncate length less than str length", - inputStr: "Test string", - inputTruncLen: 4, - want: "Test", + name: "Truncate length less than str length", + args: args{ + str: "Test String", + truncateLength: 4, + }, + want: "Test", }, { - name: "Truncate length equals str length", - inputStr: "Test String", - inputTruncLen: 11, - want: "Test String", + name: "Truncate length equals str length", + args: args{ + str: "Test String", + truncateLength: 11, + }, + want: "Test String", }, { - name: "Truncate length greater than str length", - inputStr: "Test String", - inputTruncLen: 20, - want: "Test String", + name: "Truncate length greater than str length", + args: args{ + str: "Test String", + truncateLength: 20, + }, + want: "Test String", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - truncated := TruncateString(tt.inputStr, tt.inputTruncLen) - if !cmp.Equal(truncated, tt.want) { - t.Errorf("Truncated string does not match expected: %s", cmp.Diff(truncated, tt.want)) + got := TruncateString(tt.args.str, tt.args.truncateLength) + if !cmp.Equal(got, tt.want) { + t.Errorf("Truncated string does not match expected: %s", cmp.Diff(got, tt.want)) } }) }