コード例 #1
0
ファイル: types_configuration.go プロジェクト: optimuse/goldi
// Packages returns an alphabetically ordered list of unique package names that are referenced by this type configuration.
func (c *TypesConfiguration) Packages(additionalPackages ...string) []string {
	packages := additionalPackages
	seenPackages := util.StringSet{}
	for _, additionalPackage := range additionalPackages {
		seenPackages.Set(additionalPackage)
	}

	for _, typeDef := range c.Types {
		if seenPackages.Contains(typeDef.Package) {
			continue
		}

		seenPackages.Set(typeDef.Package)
		packages = append(packages, typeDef.Package)
	}

	sort.Strings(packages)
	return packages
}
コード例 #2
0
ファイル: string_set_test.go プロジェクト: optimuse/goldi
package util_test

import (
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"

	"github.com/fgrosse/goldi/util"
)

var _ = Describe("StringSet", func() {
	It("should have a simple method to check if a key is set", func() {
		s := util.StringSet{}
		key := "test"
		Expect(s.Contains(key)).To(BeFalse())
		s.Set(key)
		Expect(s.Contains(key)).To(BeTrue())
	})
})