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.
31 lines
649 B
31 lines
649 B
11 years ago
|
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")
|
||
|
}
|
||
|
}
|