dfhack/test/library/test_util/mock.lua

46 lines
1.2 KiB
Lua

local mock = require('test_util.mock')
local test_table = {
func1 = function()
return 1
end,
func2 = function()
return 2
end,
}
function test.patch_single()
expect.eq(test_table.func1(), 1)
mock.patch(test_table, 'func1', function() return 3 end, function()
expect.eq(test_table.func1(), 3)
end)
expect.eq(test_table.func1(), 1)
end
function test.patch_single_nested()
expect.eq(test_table.func1(), 1)
mock.patch(test_table, 'func1', function() return 3 end, function()
expect.eq(test_table.func1(), 3)
mock.patch(test_table, 'func1', function() return 5 end, function()
expect.eq(test_table.func1(), 5)
end)
expect.eq(test_table.func1(), 3)
end)
expect.eq(test_table.func1(), 1)
end
function test.patch_multiple()
expect.eq(test_table.func1(), 1)
expect.eq(test_table.func2(), 2)
mock.patch({
[{test_table, 'func1'}] = function() return 3 end,
[{test_table, 'func2'}] = function() return 4 end,
}, function()
expect.eq(test_table.func1(), 3)
expect.eq(test_table.func2(), 4)
end)
expect.eq(test_table.func1(), 1)
expect.eq(test_table.func2(), 2)
end