MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / TestBlockMarshalUnmarshaler

Function TestBlockMarshalUnmarshaler

types/block_test.go:146–209  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

144}
145
146func TestBlockMarshalUnmarshaler(t *testing.T) {
147 origin, err := CreateRandomBlock(genesisHash, false)
148 if err != nil {
149 t.Fatalf("error occurred: %v", err)
150 }
151 origin2, err := CreateRandomBlock(genesisHash, false)
152 if err != nil {
153 t.Fatalf("error occurred: %v", err)
154 }
155
156 blocks := make(Blocks, 0, 2)
157 blocks = append(blocks, origin)
158 blocks = append(blocks, origin2)
159 blocks = append(blocks, nil)
160
161 blocks2 := make(Blocks, 0, 2)
162 blocks2 = append(blocks2, origin)
163 blocks2 = append(blocks2, origin2)
164 blocks2 = append(blocks2, nil)
165
166 bts1, err := blocks.MarshalHash()
167 if err != nil {
168 t.Fatalf("error occurred: %v", err)
169 }
170
171 bts2, err := blocks2.MarshalHash()
172 if err != nil {
173 t.Fatalf("error occurred: %v", err)
174 }
175
176 if !bytes.Equal(bts1, bts2) {
177 t.Fatal("hash not stable")
178 }
179
180 enc, err := utils.EncodeMsgPack(origin)
181
182 if err != nil {
183 t.Fatalf("error occurred: %v", err)
184 }
185
186 dec := &Block{}
187
188 if err = utils.DecodeMsgPack(enc.Bytes(), dec); err != nil {
189 t.Fatalf("error occurred: %v", err)
190 }
191
192 bts1, err = origin.MarshalHash()
193 if err != nil {
194 t.Fatalf("error occurred: %v", err)
195 }
196
197 bts2, err = dec.MarshalHash()
198 if err != nil {
199 t.Fatalf("error occurred: %v", err)
200 }
201
202 if !bytes.Equal(bts1, bts2) {
203 t.Fatal("hash not stable")

Callers

nothing calls this directly

Calls 8

MarshalHashMethod · 0.95
EncodeMsgPackFunction · 0.92
DecodeMsgPackFunction · 0.92
CreateRandomBlockFunction · 0.85
FatalfMethod · 0.80
FatalMethod · 0.80
MarshalHashMethod · 0.65
BytesMethod · 0.45

Tested by

no test coverage detected