1
0
mirror of https://gitee.com/willfree/mlsr.git synced 2026-06-11 09:19:35 +08:00
Files
mlsr/utils/Signal2_test.go
T
2022-06-24 16:08:20 +08:00

64 lines
1.1 KiB
Go

// Package utils
// @Author: Wang Feng
// @Description:
// @Version: 0.1.0
// @Date: 2022/6/24 12:05
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
//
package utils
import "testing"
//
// TestSignalUsage
// @Description: 测试如何使用Signal
// @param t
//
func TestSignalUsage(t *testing.T) {
s := NewSignal()
hit1 := 0
// 等待通知,被通知后,执行此函数
func1 := func(args ...interface{}) {
hit1 += 1
num := args[0].(int)
if num != 8106 {
panic("Test two arguments failed.")
}
num1 := args[1].(int)
if num1 != 8107 {
panic("Test two arguments failed.")
}
}
// 建立执行函数与信号的联系
conn := s.Connect(func1)
// 信号发出,即通知出去
s.Emit(8106, 8107)
if hit1 != 1 {
t.Fatalf("ManualDisconnect failed.")
}
if !conn.IsConnected() {
t.Fatalf("ManualDisconnect failed.")
}
// 关闭与信号的联系
conn.Disconnect()
if conn.IsConnected() {
t.Fatalf("ManualDisconnect failed.")
}
s.Emit()
if hit1 != 1 {
t.Fatalf("ManualDisconnect failed.")
}
conn.Disconnect()
}