mirror of
https://github.com/rayaman/multi.git
synced 2026-09-05 07:27:35 -04:00
71 lines
1.6 KiB
Lua
71 lines
1.6 KiB
Lua
function Test(multi, thread, t)
|
|
multi.print("Testing Connection operators")
|
|
|
|
do
|
|
multi.print("Testing: conn1 + conn2")
|
|
local conn1 = multi:newConnection()
|
|
local conn2 = multi:newConnection()
|
|
local conn3 = conn1 + conn2
|
|
local count = 0
|
|
|
|
conn3(function()
|
|
count = count + 1
|
|
end)
|
|
|
|
conn1:Fire()
|
|
t.Equal(1, count)
|
|
conn2:Fire()
|
|
t.Equal(2, count)
|
|
end
|
|
|
|
do
|
|
multi.print("Testing: conn1 * conn2")
|
|
local conn1 = multi:newConnection()
|
|
local conn2 = multi:newConnection()
|
|
local conn3 = conn1 * conn2
|
|
local count = 0
|
|
|
|
conn3(function()
|
|
count = count + 1
|
|
end)
|
|
|
|
conn1:Fire()
|
|
t.Equal(0, count)
|
|
conn2:Fire()
|
|
t.Equal(1, count)
|
|
end
|
|
|
|
do
|
|
multi.print("Testing: conn .. function")
|
|
local called = false
|
|
local conn1 = multi:newConnection()
|
|
local conn2 = conn1 .. function() called = true end
|
|
|
|
conn1(function()
|
|
t.False(called)
|
|
end)
|
|
|
|
conn2:Fire()
|
|
t.True(called)
|
|
end
|
|
|
|
do
|
|
multi.print("function .. conn")
|
|
local status = false
|
|
local conn1 = multi:newConnection()
|
|
local conn2 = function(test) return test end .. conn1
|
|
|
|
conn1(function()
|
|
status = true
|
|
end)
|
|
|
|
conn2:Fire(false)
|
|
t.False(status)
|
|
conn2:Fire(true)
|
|
t.True(status)
|
|
end
|
|
end
|
|
|
|
return {
|
|
Test = Test
|
|
} |