forked from mirror/go-ethereum
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.
30 lines
649 B
30 lines
649 B
package ethutil
|
|
|
|
import "testing"
|
|
|
|
func TestReactorAdd(t *testing.T) {
|
|
engine := NewReactorEngine()
|
|
ch := make(chan React)
|
|
engine.Subscribe("test", ch)
|
|
if len(engine.patterns) != 1 {
|
|
t.Error("Expected patterns to be 1, got", len(engine.patterns))
|
|
}
|
|
}
|
|
|
|
func TestReactorEvent(t *testing.T) {
|
|
engine := NewReactorEngine()
|
|
|
|
// Buffer 1, so it doesn't block for this test
|
|
ch := make(chan React, 1)
|
|
engine.Subscribe("test", ch)
|
|
engine.Post("test", "hello")
|
|
|
|
value := <-ch
|
|
if val, ok := value.Resource.(string); ok {
|
|
if val != "hello" {
|
|
t.Error("Expected Resource to be 'hello', got", val)
|
|
}
|
|
} else {
|
|
t.Error("Unable to cast")
|
|
}
|
|
}
|
|
|