mirror of
https://gitee.com/willfree/mlsr.git
synced 2026-06-11 09:19:35 +08:00
64 lines
1.1 KiB
Go
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()
|
|
}
|