@@ -2,7 +2,7 @@ package message_test
2
2
3
3
import (
4
4
"encoding/hex"
5
- "fmt "
5
+ "reflect "
6
6
"testing"
7
7
8
8
"github.com/epiclabs-io/ut"
@@ -11,9 +11,20 @@ import (
11
11
"github.com/ethersphere/swarm/pss/message"
12
12
)
13
13
14
- func TestMessage (tx * testing.T ) {
15
- t := ut .BeginTest (tx , false ) // set to true to generate test results
16
- defer t .FinishTest ()
14
+ type messageFixture struct {
15
+ digest string
16
+ rlp string
17
+ stringer string
18
+ }
19
+
20
+ var messageFixtures = []messageFixture {{"4b34781cfa28a5ad653855567273675eabb8535461e57e4f4bfc81504d0a828d" , "dd94fa12f92afbe00f8508d0e83bab9cf8cebf42e25e03808491273d4980" , "PssMsg: Recipient: 0xfa12f92afbe00f8508d0e83bab9cf8cebf42e25e, Topic: 0x91273d49" },
21
+ {"7f076bc036335b5d587d48c985d1b6ef8cd7015d6e484d0c7a72faddaa2aceaa" , "e794210fc7bb818639ac48a4c6afa2f1581a8b9525e2000184ba78973d8aa84f7f80296fda3fd8df" , "PssMsg: Recipient: 0x210fc7bb818639ac48a4c6afa2f1581a8b9525e2, Topic: 0xba78973d" },
22
+ {"a3cb8298779bef44c33461f072c54391a39c09b7a726e55d60384d7484760559" , "f194e2aadcd868ce028477f86e430140149b0300a9a5020284a6b46dd094f4b754a41bd4d5d11330e2924ff403c95bb84fa5" , "PssMsg: Recipient: 0xe2aadcd868ce028477f86e430140149b0300a9a5, Topic: 0xa6b46dd0" },
23
+ {"a82a894a753dffad41330dc1abbc85e5bc1791c393eba682eaf3cee56e6b0d9a" , "f83b9460f9e0fa212bac5db82b22cee5272ee19a067256000384f013aa4b9e2fb3c9afcd593f3c5d3a96fecc1b7672562cc1b8828888269264bb976ed2" , "PssMsg: Recipient: 0x60f9e0fa212bac5db82b22cee5272ee19a067256, Topic: 0xf013aa4b" },
24
+ {"8ba6836253a10cf02e5031695ab39917e816b9677d53b4e4b2af5e439b05d362" , "f845941dd4751f899d743d0780c9644375aae21132781803048426f57386a834dab59240ba3bcec68fd648a62ba94062413e5b5f89c0441b5809fff0a51dd1084e8f06fce30971" , "PssMsg: Recipient: 0x1dd4751f899d743d0780c9644375aae211327818, Topic: 0x26f57386" },
25
+ }
26
+
27
+ func TestMessage (t * testing.T ) {
17
28
18
29
// generate some test messages deterministically
19
30
for i , topicString := range someTopics {
@@ -30,22 +41,41 @@ func TestMessage(tx *testing.T) {
30
41
31
42
// test digest function:
32
43
digest := msg .Digest ()
33
- t .EqualsKey (fmt .Sprintf ("msg%d-digest" , i ), hex .EncodeToString (digest [:]))
44
+
45
+ actual := hex .EncodeToString (digest [:])
46
+ expected := messageFixtures [i ].digest
47
+ if expected != actual {
48
+ t .Fatalf ("Expected digest to be %s, got %s" , expected , actual )
49
+ }
34
50
35
51
// test stringer:
36
- st := msg .String ()
37
- t .EqualsKey (fmt .Sprintf ("msg%d-string" , i ), st )
52
+ expected = messageFixtures [i ].stringer
53
+ actual = msg .String ()
54
+ if expected != actual {
55
+ t .Fatalf ("Expected stringer to return %s, got %s" , expected , actual )
56
+ }
38
57
39
58
// Test RLP encoding:
40
59
bytes , err := rlp .EncodeToBytes (& msg )
41
- t .Ok (err )
42
- t .EqualsKey (fmt .Sprintf ("msg%d-rlp" , i ), hex .EncodeToString (bytes ))
60
+ if err != nil {
61
+ t .Fatal (err )
62
+ }
63
+
64
+ expected = messageFixtures [i ].rlp
65
+ actual = hex .EncodeToString (bytes )
66
+ if expected != actual {
67
+ t .Fatalf ("Expected RLP serialization to return %s, got %s" , expected , actual )
68
+ }
43
69
44
70
// Test decoding:
45
71
var msg2 message.Message
46
72
err = rlp .DecodeBytes (bytes , & msg2 )
47
- t .Ok (err )
48
- t .Equals (msg , & msg2 )
73
+ if err != nil {
74
+ t .Fatal (err )
75
+ }
49
76
77
+ if ! reflect .DeepEqual (msg , & msg2 ) {
78
+ t .Fatalf ("Expected RLP decoding return %v, got %v" , msg , & msg2 )
79
+ }
50
80
}
51
81
}
0 commit comments