whisper: clean up and integrate topics
This commit is contained in:
38
whisper/topic_test.go
Normal file
38
whisper/topic_test.go
Normal file
@ -0,0 +1,38 @@
|
||||
package whisper
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var topicCreationTests = []struct {
|
||||
data []byte
|
||||
hash [4]byte
|
||||
}{
|
||||
{hash: [4]byte{0xc5, 0xd2, 0x46, 0x01}, data: nil},
|
||||
{hash: [4]byte{0xc5, 0xd2, 0x46, 0x01}, data: []byte{}},
|
||||
{hash: [4]byte{0x8f, 0x9a, 0x2b, 0x7d}, data: []byte("test name")},
|
||||
}
|
||||
|
||||
func TestTopicCreation(t *testing.T) {
|
||||
for i, tt := range topicCreationTests {
|
||||
topic := NewTopic(tt.data)
|
||||
if bytes.Compare(topic[:], tt.hash[:]) != 0 {
|
||||
t.Errorf("test %d: hash mismatch: have %v, want %v.", i, topic, tt.hash)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestTopicSetCreation(t *testing.T) {
|
||||
topics := make([]Topic, len(topicCreationTests))
|
||||
for i, tt := range topicCreationTests {
|
||||
topics[i] = NewTopic(tt.data)
|
||||
}
|
||||
set := NewTopicSet(topics)
|
||||
for i, tt := range topicCreationTests {
|
||||
topic := NewTopic(tt.data)
|
||||
if _, ok := set[topic.String()]; !ok {
|
||||
t.Errorf("topic %d: not found in set", i)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user