From 97515d09693a2b9085f67f5ca5dc4656d886923f Mon Sep 17 00:00:00 2001 From: free will <2647778488@qq.com> Date: Fri, 18 Mar 2022 23:49:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0LsaBase=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=9A=84=E6=B5=8B=E8=AF=95=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lsa/LsaBase_test.go | 17 ++++++++ lsa/LsaExpirationTime_test.go | 78 +++++++++++++++++++++++++++++++++++ lsa/LsaSequenceNumber_test.go | 78 +++++++++++++++++++++++++++++++++++ 3 files changed, 173 insertions(+) create mode 100644 lsa/LsaBase_test.go create mode 100644 lsa/LsaExpirationTime_test.go create mode 100644 lsa/LsaSequenceNumber_test.go diff --git a/lsa/LsaBase_test.go b/lsa/LsaBase_test.go new file mode 100644 index 0000000..dc01423 --- /dev/null +++ b/lsa/LsaBase_test.go @@ -0,0 +1,17 @@ +// Package lsa +// @Author: Wang Feng +// @Description: +// @Version: 0.1.0 +// @Date: 2022/3/18 23:28 +// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 +// + +package lsa + +import "testing" + +func TestLsaBase_WireEncode(t *testing.T) { +} + +func TestLsaBase_WireDecode(t *testing.T) { +} diff --git a/lsa/LsaExpirationTime_test.go b/lsa/LsaExpirationTime_test.go new file mode 100644 index 0000000..7f1b93f --- /dev/null +++ b/lsa/LsaExpirationTime_test.go @@ -0,0 +1,78 @@ +// Package lsa +// @Author: Wang Feng +// @Description: +// @Version: 0.1.0 +// @Date: 2022/3/18 23:33 +// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 +// + +package lsa + +import ( + "bytes" + "minlib/encoding" + "testing" +) + +// +// TestLsaExpirationTime_SetLsaExpirationTime +// @Description: 测试设置 +// @param t +// +func TestLsaExpirationTime_SetLsaExpirationTime(t *testing.T) { + lsaExpirationTime:=LsaExpirationTime{} + lsaExpirationTime.SetLsaExpirationTime(77) + if lsaExpirationTime.LsaExpirationTime()!=77{ + t.Fatal("LsaExpirationTime设置失败") + } +} + +// +// TestLsaExpirationTime_WireEncode +// @Description: 测试编码 +// @param t +// +func TestLsaExpirationTime_WireEncode(t *testing.T) { + lsaExpirationTime:=LsaExpirationTime{} + lsaExpirationTime.SetLsaExpirationTime(1234) + + encoder := encoding.Encoder{} + encoder.EncoderReset(encoding.MaxPacketSize, 0) + length, err := lsaExpirationTime.WireEncode(&encoder) + if err != nil { + t.Fatal("lsaExpirationTime编码失败", err.Error()) + } + + buf, err := encoder.GetBuffer() + if err != nil { + t.Fatal("lsaExpirationTime获取buffer结果失败", err.Error()) + } + + res := []byte{241, 0, 253, 2, 4, 210} + if length != 6 || !bytes.Equal(buf, res) { + t.Fatal("lsaExpirationTime编码内容错误", length, buf) + } +} + +// +// TestLsaExpirationTime_WireDecode +// @Description: 测试解码 +// @param t +// +func TestLsaExpirationTime_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("LsaExpirationTime创建Block失败", err.Error()) + } + + lpPacketFragmentNum:= LsaExpirationTime{} + err = lpPacketFragmentNum.WireDecode(block) + if err != nil { + t.Fatal("LsaExpirationTime解码失败", err.Error()) + } + + if lpPacketFragmentNum.LsaExpirationTime() != 1234 { + t.Fatal("LsaExpirationTime解码内容错误", lpPacketFragmentNum.LsaExpirationTime()) + } +} \ No newline at end of file diff --git a/lsa/LsaSequenceNumber_test.go b/lsa/LsaSequenceNumber_test.go new file mode 100644 index 0000000..641b120 --- /dev/null +++ b/lsa/LsaSequenceNumber_test.go @@ -0,0 +1,78 @@ +// Package lsa +// @Author: Wang Feng +// @Description: +// @Version: 0.1.0 +// @Date: 2022/3/18 23:33 +// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 +// + +package lsa + +import ( + "bytes" + "minlib/encoding" + "testing" +) + +// +// TestLsaSequenceNumber_SetLsaSequenceNumber +// @Description: 测试设置 +// @param t +// +func TestLsaSequenceNumber_SetLsaSequenceNumber(t *testing.T) { + lsaSequenceNumber:=LsaSequenceNumber{} + lsaSequenceNumber.SetLsaSequenceNumber(77) + if lsaSequenceNumber.LsaSequenceNumber()!=77{ + t.Fatal("LsaSequenceNumber设置失败") + } +} + +// +// TestLsaSequenceNumber_WireEncode +// @Description: 测试编码 +// @param t +// +func TestLsaSequenceNumber_WireEncode(t *testing.T) { + lsaSequenceNumber:=LsaSequenceNumber{} + lsaSequenceNumber.SetLsaSequenceNumber(1234) + + encoder := encoding.Encoder{} + encoder.EncoderReset(encoding.MaxPacketSize, 0) + length, err := lsaSequenceNumber.WireEncode(&encoder) + if err != nil { + t.Fatal("lsaSequenceNumber编码失败", err.Error()) + } + + buf, err := encoder.GetBuffer() + if err != nil { + t.Fatal("lsaSequenceNumber获取buffer结果失败", err.Error()) + } + + res := []byte{241, 0, 253, 2, 4, 210} + if length != 6 || !bytes.Equal(buf, res) { + t.Fatal("lsaSequenceNumber编码内容错误", length, buf) + } +} + +// +// TestLsaSequenceNumber_WireDecode +// @Description: 测试解码 +// @param t +// +func TestLsaSequenceNumber_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("LsaSequenceNumber创建Block失败", err.Error()) + } + + lpPacketFragmentNum:= LsaSequenceNumber{} + err = lpPacketFragmentNum.WireDecode(block) + if err != nil { + t.Fatal("LsaSequenceNumber解码失败", err.Error()) + } + + if lpPacketFragmentNum.LsaSequenceNumber() != 1234 { + t.Fatal("LsaSequenceNumber解码内容错误", lpPacketFragmentNum.LsaSequenceNumber()) + } +} \ No newline at end of file