31 lines
		
	
	
		
			649 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			649 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | 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") | ||
|  | 	} | ||
|  | } |