--- @classmod Mock--- Combination of Spy and ProgrammableFn.-- See @ and @ for details.
local ProgrammableFn = require 'Module:Lua-mock/ProgrammableFn'local Spy = require 'Module:Lua-mock/Spy'
local Mock = Mock.__index = Mock
function Mock:whenCalled(behaviour) self.programmable:whenCalled(behaviour) return selfend
function Mock:__call(...) return self.spy(...)end
function Mock:reset self.spy:reset self.programmable:reset return selfend
function Mock:assertCallCount(count) self.spy:assertCallCount(count) return selfend
function Mock:assertCallMatches(query) self.spy:assertCallMatches(query) return selfend
function Mock:assertAnyCallMatches(query) self.spy:assertAnyCallMatches(query) return selfend
return function local programmable = ProgrammableFn local spy = Spy(programmable) local self = return setmetatable(self, Mock)end