You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

31 lines
856 B

package main
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestCombinations(t *testing.T) {
input := map[string][]interface{}{
"bool": {false, true},
"int": {1, 2, 3},
"string": {"foo", "bar"},
}
c := combinations(input)
assert.Equal(t, []map[string]interface{}{
{"bool": false, "int": 1, "string": "foo"},
{"bool": false, "int": 1, "string": "bar"},
{"bool": false, "int": 2, "string": "foo"},
{"bool": false, "int": 2, "string": "bar"},
{"bool": false, "int": 3, "string": "foo"},
{"bool": false, "int": 3, "string": "bar"},
{"bool": true, "int": 1, "string": "foo"},
{"bool": true, "int": 1, "string": "bar"},
{"bool": true, "int": 2, "string": "foo"},
{"bool": true, "int": 2, "string": "bar"},
{"bool": true, "int": 3, "string": "foo"},
{"bool": true, "int": 3, "string": "bar"},
}, c)
}