mirror of https://github.com/docker/cli.git
30 lines
890 B
Go
30 lines
890 B
Go
|
package test
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
|
||
|
"gotest.tools/assert"
|
||
|
is "gotest.tools/assert/cmp"
|
||
|
)
|
||
|
|
||
|
// CompareMultipleValues compares comma-separated values, whatever the order is
|
||
|
func CompareMultipleValues(t *testing.T, value, expected string) {
|
||
|
// comma-separated values means probably a map input, which won't
|
||
|
// be guaranteed to have the same order as our expected value
|
||
|
// We'll create maps and use reflect.DeepEquals to check instead:
|
||
|
entriesMap := make(map[string]string)
|
||
|
expMap := make(map[string]string)
|
||
|
entries := strings.Split(value, ",")
|
||
|
expectedEntries := strings.Split(expected, ",")
|
||
|
for _, entry := range entries {
|
||
|
keyval := strings.Split(entry, "=")
|
||
|
entriesMap[keyval[0]] = keyval[1]
|
||
|
}
|
||
|
for _, expected := range expectedEntries {
|
||
|
keyval := strings.Split(expected, "=")
|
||
|
expMap[keyval[0]] = keyval[1]
|
||
|
}
|
||
|
assert.Check(t, is.DeepEqual(expMap, entriesMap))
|
||
|
}
|