package libnetwork import ( "sort" "testing" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" ) func TestSortByNetworkType(t *testing.T) { nws := []*Network{ {name: "local2"}, {name: "ovl2", dynamic: true}, {name: "local3"}, {name: "ingress", ingress: true}, {name: "ovl3", dynamic: true}, {name: "local1"}, {name: "ovl1", dynamic: true}, } eps := make([]*Endpoint, 0, len(nws)) for _, nw := range nws { eps = append(eps, &Endpoint{ name: "ep-" + nw.name, network: nw, }) } sort.Sort(ByNetworkType(eps)) actual := make([]string, 0, len(eps)) for _, ep := range eps { actual = append(actual, ep.name) } expected := []string{ "ep-ovl2", "ep-ovl3", "ep-ovl1", "ep-ingress", "ep-local2", "ep-local3", "ep-local1", } assert.Check(t, is.DeepEqual(actual, expected)) }