Skip to content

Instantly share code, notes, and snippets.

@browny
Created September 14, 2017 00:02
Show Gist options
  • Save browny/742ab499fd3aa51f2cbd1ffeb0802df1 to your computer and use it in GitHub Desktop.
Save browny/742ab499fd3aa51f2cbd1ffeb0802df1 to your computer and use it in GitHub Desktop.
func (s *InjectTestSuite) TestWeave() {
driver := example.Driver{}
farmer := example.Farmer{}
master := example.Master{}
myLogger := example.MyLogger{}
tillageMachine := example.TillageMachine{}
depMap := map[interface{}][]string{
&myLogger: []string{
"logger",
},
&driver: []string{
"example.Master.Transport",
},
&farmer: []string{
"example.Master.Food",
},
&tillageMachine: []string{
"example.TillageMachine.Machine",
},
&master: []string{},
}
graph, err := Weave(depMap)
s.NoError(err)
master.Food.GetRice()
master.Transport.Fly("C++", "Go")
f := graph[reflect.TypeOf(&example.Farmer{})].(*example.Farmer)
f.Machine.Run(5)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment