mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-28 02:50:25 +08:00
初步实现bfs原型(仅用于实验)
This commit is contained in:
52
internal/utils/bfs/meta_block_test.go
Normal file
52
internal/utils/bfs/meta_block_test.go
Normal file
@@ -0,0 +1,52 @@
|
||||
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||
|
||||
package bfs_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"github.com/TeaOSLab/EdgeNode/internal/utils/bfs"
|
||||
"github.com/iwind/TeaGo/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMetaBlock(t *testing.T) {
|
||||
var a = assert.NewAssertion(t)
|
||||
|
||||
{
|
||||
var srcHash = bfs.Hash("a")
|
||||
b, err := bfs.EncodeMetaBlock(bfs.MetaActionNew, srcHash, []byte{1, 2, 3})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(b)
|
||||
|
||||
{
|
||||
action, hash, data, decodeErr := bfs.DecodeMetaBlock(b)
|
||||
if decodeErr != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
a.IsTrue(action == bfs.MetaActionNew)
|
||||
a.IsTrue(hash == srcHash)
|
||||
a.IsTrue(bytes.Equal(data, []byte{1, 2, 3}))
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var srcHash = bfs.Hash("bcd")
|
||||
|
||||
b, err := bfs.EncodeMetaBlock(bfs.MetaActionRemove, srcHash, []byte{1, 2, 3})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(b)
|
||||
{
|
||||
action, hash, data, decodeErr := bfs.DecodeMetaBlock(b)
|
||||
if decodeErr != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
a.IsTrue(action == bfs.MetaActionRemove)
|
||||
a.IsTrue(hash == srcHash)
|
||||
a.IsTrue(len(data) == 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user