From Wikipedia, the free encyclopedia


--- @classmod Mock

--- Combination of Spy and ProgrammableFn.

-- See @{Spy} and @{ProgrammableFn} 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 self

end



function Mock:__call( ... )

    return self.spy(...)

end



function Mock:reset()

    self.spy:reset()

    self.programmable:reset()

    return self

end



function Mock:assertCallCount( count )

    self.spy:assertCallCount(count)

    return self

end



function Mock:assertCallMatches( query )

    self.spy:assertCallMatches(query)

    return self

end



function Mock:assertAnyCallMatches( query )

    self.spy:assertAnyCallMatches(query)

    return self

end





return function()

    local programmable = ProgrammableFn()

    local spy = Spy(programmable)

    local self = {

        programmable = programmable,

        spy = spy

    }

    return setmetatable(self, Mock)

end
From Wikipedia, the free encyclopedia


--- @classmod Mock

--- Combination of Spy and ProgrammableFn.

-- See @{Spy} and @{ProgrammableFn} 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 self

end



function Mock:__call( ... )

    return self.spy(...)

end



function Mock:reset()

    self.spy:reset()

    self.programmable:reset()

    return self

end



function Mock:assertCallCount( count )

    self.spy:assertCallCount(count)

    return self

end



function Mock:assertCallMatches( query )

    self.spy:assertCallMatches(query)

    return self

end



function Mock:assertAnyCallMatches( query )

    self.spy:assertAnyCallMatches(query)

    return self

end





return function()

    local programmable = ProgrammableFn()

    local spy = Spy(programmable)

    local self = {

        programmable = programmable,

        spy = spy

    }

    return setmetatable(self, Mock)

end

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook