diff --git a/lsa/AdjLsaLinkCost_test.go b/lsa/AdjLsaLinkCost_test.go new file mode 100644 index 0000000..abeaa37 --- /dev/null +++ b/lsa/AdjLsaLinkCost_test.go @@ -0,0 +1,78 @@ +// Package lsa +// @Author: Wang Feng +// @Description: +// @Version: 0.1.0 +// @Date: 2022/3/25 22:29 +// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 +// + +package lsa + +import ( + "bytes" + "minlib/encoding" + "testing" +) + +// +// TestAdjLsaLinkCost_SetLinkCost +// @Description: 测试设置属性 +// @param t +// +func TestAdjLsaLinkCost_SetLinkCost(t *testing.T) { + lsaSequenceNumber:=AdjLsaLinkCost{} + lsaSequenceNumber.SetLinkCost(77) + if lsaSequenceNumber.LinkCost()!=77{ + t.Fatal("AdjLsaLinkCost设置失败") + } +} + +// +// TestAdjLsaLinkCost_WireEncode +// @Description: 测试编码 +// @param t +// +func TestAdjLsaLinkCost_WireEncode(t *testing.T) { + linkCost :=AdjLsaLinkCost{} + linkCost.SetLinkCost(1234) + + encoder := encoding.Encoder{} + encoder.EncoderReset(encoding.MaxPacketSize, 0) + length, err := linkCost.WireEncode(&encoder) + if err != nil { + t.Fatal("AdjLsaLinkCost编码失败", err.Error()) + } + + buf, err := encoder.GetBuffer() + if err != nil { + t.Fatal("AdjLsaLinkCost获取buffer结果失败", err.Error()) + } + + res := []byte{241, 0, 253, 2, 4, 210} + if length != 6 || !bytes.Equal(buf, res) { + t.Fatal("AdjLsaLinkCost编码内容错误", length, buf) + } +} + +// +// TestAdjLsaLinkCost_WireDecode +// @Description: 测试解码 +// @param t +// +func TestAdjLsaLinkCost_WireDecode(t *testing.T) { + var buf [6]byte = [6]byte{241, 0, 253, 2, 4, 210} + block, err := encoding.CreateBlockByBuffer(buf[:], true) + if err != nil { + t.Fatal("AdjLsaLinkCost创建Block失败", err.Error()) + } + + linkCost := AdjLsaLinkCost{} + err = linkCost.WireDecode(block) + if err != nil { + t.Fatal("AdjLsaLinkCost解码失败", err.Error()) + } + + if linkCost.LinkCost() != 1234 { + t.Fatal("AdjLsaLinkCost解码内容错误", linkCost.LinkCost()) + } +} diff --git a/lsa/AdjLsaLogicFaceId_test.go b/lsa/AdjLsaLogicFaceId_test.go new file mode 100644 index 0000000..3947baf --- /dev/null +++ b/lsa/AdjLsaLogicFaceId_test.go @@ -0,0 +1,109 @@ +// Package lsa +// @Author: Wang Feng +// @Description: +// @Version: 0.1.0 +// @Date: 2022/3/25 22:28 +// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 +// + +package lsa + +import ( + "fmt" + "minlib/encoding" + "testing" +) + +// +// TestNameLsaNamePrefixSource_SetNamePrefixSource +// @Description: 测试设置变量 +// @param t +// +func TestNameLsaNamePrefixSource_SetNamePrefixSource(t *testing.T) { + testCPU := NameLsaNamePrefixSource{} + testCPU.SetNamePrefixSource("url") + fmt.Println(testCPU.NamePrefixSource()) +} + +// +// TestNameLsaNamePrefixSource_WireEncode +// @Description: 测试编码 +// @param t +// +func TestNameLsaNamePrefixSource_WireEncode(t *testing.T) { + testCPU := new(NameLsaNamePrefixSource) + fmt.Println(testCPU.NamePrefixSource()) + testCPU.SetNamePrefixSource("url") + fmt.Println(testCPU.NamePrefixSource()) + //testCPC.SetTlvType(5) + fmt.Println(testCPU.Value()) + var encoder encoding.Encoder + err := encoder.EncoderReset(encoding.MaxPacketSize, 0) + if err != nil { + fmt.Println("encoder.EncoderReset() failed", err) + return + } + a, err := testCPU.WireEncode(&encoder) + if err != nil { + fmt.Println("NameLsaNamePrefixSource.WireEncode() failed", err) + return + } + fmt.Println(a) + buf, err := encoder.GetBuffer() + if err != nil { + fmt.Println("encoder.GetBuffer() failed", err) + return + } + fmt.Println("interest buf", buf) + block, err := encoding.CreateBlockByBuffer(buf[:], false) + if err != nil { + fmt.Println("encoding.CreateBlockByBuffer() failed", err) + } + fmt.Println("interest block", block) +} + +// +// TestNameLsaNamePrefixSource_WireDecode +// @Description: 测试解码 +// @param t +// +func TestNameLsaNamePrefixSource_WireDecode(t *testing.T) { + testCPU := new(NameLsaNamePrefixSource) + fmt.Println("interest", testCPU.Value()) + //testCPC.SetTlvType(5) + fmt.Println(testCPU.TlvType()) + testCPU.SetNamePrefixSource("url") + fmt.Println("interest", testCPU.Value()) + fmt.Println("interest", testCPU.IsInitial()) + var encoder encoding.Encoder + err := encoder.EncoderReset(encoding.MaxPacketSize, 0) + if err != nil { + fmt.Println("encoder.EncoderReset() failed", err) + return + } + a, err := testCPU.WireEncode(&encoder) + if err != nil { + fmt.Println("NameLsaNamePrefixSource.WireEncode() failed", err) + } + fmt.Println(a) + buf, err := encoder.GetBuffer() + if err != nil { + fmt.Println("encoder.GetBuffer() failed:", err) + return + } + fmt.Println("interest buf", buf) + block, err := encoding.CreateBlockByBuffer(buf[:], false) + if err != nil { + fmt.Println("encoding.CreateBlockByBuffer() failed:", err) + return + } + fmt.Println("interest block", block) + interest1 := new(NameLsaNamePrefixSource) + err = interest1.WireDecode(block) + if err != nil { + fmt.Println("interest1.WireDecode() failed", err) + return + } + fmt.Println("interest1", interest1.Value()) + fmt.Println("interest1", interest1.IsInitial()) +} diff --git a/lsa/NameLsaNamePrefixSource_test.go b/lsa/NameLsaNamePrefixSource_test.go new file mode 100644 index 0000000..1177145 --- /dev/null +++ b/lsa/NameLsaNamePrefixSource_test.go @@ -0,0 +1,95 @@ +// Package lsa +// @Author: Wang Feng +// @Description: +// @Version: 0.1.0 +// @Date: 2022/3/25 22:45 +// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 +// + +package lsa + +import ( + "fmt" + "minlib/encoding" + "testing" +) + + +func TestControlParameterUri_SetUri(t *testing.T) { + testCPU := ControlParameterUri{} + testCPU.SetUri("url") + fmt.Println(testCPU.Uri()) +} + +func TestControlParameterUri_WireEncode(t *testing.T) { + testCPU := new(ControlParameterUri) + fmt.Println(testCPU.value) + testCPU.SetUri("url") + fmt.Println(testCPU.value) + //testCPC.SetTlvType(5) + fmt.Println(testCPU.initial) + var encoder encoding.Encoder + err := encoder.EncoderReset(encoding.MaxPacketSize, 0) + if err != nil { + fmt.Println("encoder.EncoderReset() failed", err) + return + } + a, err := testCPU.WireEncode(&encoder) + if err != nil { + fmt.Println("testCPET.WireEncode() failed", err) + return + } + fmt.Println(a) + buf, err := encoder.GetBuffer() + if err != nil { + fmt.Println("encoder.GetBuffer() failed", err) + return + } + fmt.Println("interest buf", buf) + block, err := encoding.CreateBlockByBuffer(buf[:], false) + if err != nil { + fmt.Println("encoding.CreateBlockByBuffer() failed", err) + } + fmt.Println("interest block", block) +} + +func TestControlParameterUri_WireDecode(t *testing.T) { + testCPU := new(ControlParameterUri) + fmt.Println("interest", testCPU.Value()) + //testCPC.SetTlvType(5) + fmt.Println(testCPU.tlvType) + testCPU.SetUri("url") + fmt.Println("interest", testCPU.Value()) + fmt.Println("interest", testCPU.initial) + var encoder encoding.Encoder + err := encoder.EncoderReset(encoding.MaxPacketSize, 0) + if err != nil { + fmt.Println("encoder.EncoderReset() failed", err) + return + } + a, err := testCPU.WireEncode(&encoder) + if err != nil { + fmt.Println("testCPC.WireEncode() failed", err) + } + fmt.Println(a) + buf, err := encoder.GetBuffer() + if err != nil { + fmt.Println("encoder.GetBuffer() failed:", err) + return + } + fmt.Println("interest buf", buf) + block, err := encoding.CreateBlockByBuffer(buf[:], false) + if err != nil { + fmt.Println("encoding.CreateBlockByBuffer() failed:", err) + return + } + fmt.Println("interest block", block) + interest1 := new(ControlParameterUri) + err = interest1.WireDecode(block) + if err != nil { + fmt.Println("interest1.WireDecode() failed", err) + return + } + fmt.Println("interest1", interest1.Value()) + fmt.Println("interest1", interest1.initial) +}