From bfae049984473ff805051ed19e920282909c0e1d Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Wed, 15 Jan 2020 12:05:55 +0100 Subject: [PATCH 1/2] added conversions package --- conversions/strings.go | 14 ++++++++++++++ conversions/strings_test.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 conversions/strings.go create mode 100644 conversions/strings_test.go diff --git a/conversions/strings.go b/conversions/strings.go new file mode 100644 index 000000000..e3a7e67c2 --- /dev/null +++ b/conversions/strings.go @@ -0,0 +1,14 @@ +package conversions + +import "strings" + +// StringToSliceString splits a string into a slice string according to separator +func StringToSliceString(src string, sep string) []string { + var apps []string + parsed := strings.Split(src, sep) + for _, v := range parsed { + apps = append(apps, strings.TrimSpace(v)) + } + + return apps +} diff --git a/conversions/strings_test.go b/conversions/strings_test.go new file mode 100644 index 000000000..69ade88b7 --- /dev/null +++ b/conversions/strings_test.go @@ -0,0 +1,35 @@ +package conversions + +import "testing" + +var scenarios = []struct { + name string + input string + separator string + out []string +}{ + { + "comma separated input", + "a, b, c, d", + ",", + []string{"a", "b", "c", "d"}, + }, { + "space separated input", + "a b c d", + " ", + []string{"a", "b", "c", "d"}, + }, +} + +func TestStringToSliceString(t *testing.T) { + for _, tt := range scenarios { + t.Run(tt.name, func(t *testing.T) { + s := StringToSliceString(tt.input, tt.separator) + for i, v := range tt.out { + if tt.out[i] != v { + t.Errorf("got %q, want %q", s, tt.out) + } + } + }) + } +} From 47d5cbe498f1cac47c5164dc9ab0b60fedb0cddb Mon Sep 17 00:00:00 2001 From: "A.Unger" Date: Wed, 15 Jan 2020 12:08:32 +0100 Subject: [PATCH 2/2] rename apps -> parts --- conversions/strings.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conversions/strings.go b/conversions/strings.go index e3a7e67c2..a26a5574e 100644 --- a/conversions/strings.go +++ b/conversions/strings.go @@ -4,11 +4,11 @@ import "strings" // StringToSliceString splits a string into a slice string according to separator func StringToSliceString(src string, sep string) []string { - var apps []string + var parts []string parsed := strings.Split(src, sep) for _, v := range parsed { - apps = append(apps, strings.TrimSpace(v)) + parts = append(parts, strings.TrimSpace(v)) } - return apps + return parts }