func BenchmarkPubSub(b *testing.B) { pub := new(pubsub.Publisher) r1, _ := pub.SubReader() r2, _ := pub.SubReader() for i := 0; i < b.N; i++ { pub.Publish(i) v1 := r1.Read() v2 := r2.Read() if v1 != v2 || v1 != i { b.Fatal("incorrect value") } } }
func TestSubReader(t *testing.T) { pub := pubsub.Publisher{} r, last := pub.SubReader() if last != nil { t.Fatal("last message shuold be nil") } pub.Publish("msg 1") pub.Publish("msg 2") if r.Read() != "msg 1" { t.Fatal("incorrect message received") } if r.Read() != "msg 2" { t.Fatal("incorrect message received") } }