39 lines
902 B
Go
39 lines
902 B
Go
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)
|
|
}
|
|
}
|
|
}
|