|  | @@ -7,16 +7,14 @@ import (
 | 
												
													
														
															|  |  )
 |  |  )
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  func TestEvent(t *testing.T) {
 |  |  func TestEvent(t *testing.T) {
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -	bus := event.NewBus()
 |  | 
 | 
												
													
														
															|  | 
 |  | +	es := event.NewSystem()
 | 
												
													
														
															|  | 
 |  | +	bus := es.NewBus()
 | 
												
													
														
															|  |  	a := 0
 |  |  	a := 0
 | 
												
													
														
															|  |  	bus.On("test", func(evt event.Event) {
 |  |  	bus.On("test", func(evt event.Event) {
 | 
												
													
														
															|  |  		t.Log("Event successfull")
 |  |  		t.Log("Event successfull")
 | 
												
													
														
															|  |  		a++
 |  |  		a++
 | 
												
													
														
															|  |  	})
 |  |  	})
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |  	bus.Emit(event.New("test", nil))
 |  |  	bus.Emit(event.New("test", nil))
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |  	if a != 1 {
 |  |  	if a != 1 {
 | 
												
													
														
															|  |  		t.Fatal("Event Failed")
 |  |  		t.Fatal("Event Failed")
 | 
												
													
														
															|  |  	}
 |  |  	}
 | 
												
											
												
													
														
															|  | @@ -25,8 +23,8 @@ func TestEvent(t *testing.T) {
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  // Testing a named emitter that prefixes events
 |  |  // Testing a named emitter that prefixes events
 | 
												
													
														
															|  |  func TestNamedEmitter(t *testing.T) {
 |  |  func TestNamedEmitter(t *testing.T) {
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -	bus := event.NewBus()
 |  | 
 | 
												
													
														
															|  | 
 |  | +	es := event.NewSystem()
 | 
												
													
														
															|  | 
 |  | +	bus := es.NewBus()
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  	em := event.NewNamedEmitter("user", bus)
 |  |  	em := event.NewNamedEmitter("user", bus)
 | 
												
													
														
															|  |  
 |  |  
 | 
												
											
												
													
														
															|  | @@ -46,13 +44,41 @@ func TestNamedEmitter(t *testing.T) {
 | 
												
													
														
															|  |  		t.Fail()
 |  |  		t.Fail()
 | 
												
													
														
															|  |  	}
 |  |  	}
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  | 
 |  | +func TestMultiBus(t *testing.T) {
 | 
												
													
														
															|  | 
 |  | +	es := event.NewSystem()
 | 
												
													
														
															|  | 
 |  | +	bus1 := es.NewBus()
 | 
												
													
														
															|  | 
 |  | +	bus2 := es.NewBus()
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +	cevt := 0
 | 
												
													
														
															|  | 
 |  | +	bus1.On("test", func(evt event.Event) {
 | 
												
													
														
															|  | 
 |  | +		t.Log("Bus1 evt")
 | 
												
													
														
															|  | 
 |  | +		cevt++
 | 
												
													
														
															|  | 
 |  | +	})
 | 
												
													
														
															|  | 
 |  | +	bus2.On("test", func(evt event.Event) {
 | 
												
													
														
															|  | 
 |  | +		t.Log("Bus2 evt")
 | 
												
													
														
															|  | 
 |  | +		cevt++
 | 
												
													
														
															|  | 
 |  | +	})
 | 
												
													
														
															|  | 
 |  | +	bus1.Emit(event.New("test", nil))
 | 
												
													
														
															|  | 
 |  | +	if cevt != 2 {
 | 
												
													
														
															|  | 
 |  | +		t.Fatal("mismatch number of events consumed")
 | 
												
													
														
															|  | 
 |  | +	}
 | 
												
													
														
															|  | 
 |  | +	es.RemoveBus(bus2)
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +	bus1.Emit(event.New("test", nil))
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +	if cevt != 3 {
 | 
												
													
														
															|  | 
 |  | +		t.Fatal("mismatch number of events consumed, should be 3")
 | 
												
													
														
															|  | 
 |  | +	}
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +}
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  type MyStruct struct {
 |  |  type MyStruct struct {
 | 
												
													
														
															|  |  	event.Emitter
 |  |  	event.Emitter
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  func TestCustomStruct(t *testing.T) {
 |  |  func TestCustomStruct(t *testing.T) {
 | 
												
													
														
															|  | -	bus := event.NewBus()
 |  | 
 | 
												
													
														
															|  | 
 |  | +	es := event.NewSystem()
 | 
												
													
														
															|  | 
 |  | +	bus := es.NewBus()
 | 
												
													
														
															|  |  	a := 0
 |  |  	a := 0
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  	bus.On("MyStruct:test", func(evt event.Event) {
 |  |  	bus.On("MyStruct:test", func(evt event.Event) {
 | 
												
											
												
													
														
															|  | @@ -67,7 +93,8 @@ func TestCustomStruct(t *testing.T) {
 | 
												
													
														
															|  |  }
 |  |  }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  func TestParamData(t *testing.T) {
 |  |  func TestParamData(t *testing.T) {
 | 
												
													
														
															|  | -	bus := event.NewBus()
 |  | 
 | 
												
													
														
															|  | 
 |  | +	es := event.NewSystem()
 | 
												
													
														
															|  | 
 |  | +	bus := es.NewBus()
 | 
												
													
														
															|  |  	bus.On("test", func(evt event.Event) {
 |  |  	bus.On("test", func(evt event.Event) {
 | 
												
													
														
															|  |  		str := evt.Data().(string)
 |  |  		str := evt.Data().(string)
 | 
												
													
														
															|  |  		if str != "123" {
 |  |  		if str != "123" {
 |