aboutsummaryrefslogtreecommitdiffstats
path: root/ethutil/reactor_test.go
blob: 48c2f0df3594ae3236cf1a39561531a4f770d9a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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")
    }
}