模組解[]
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

function suite:testAssertTrueSuccessful()
	self:assertTrue(true)
	self:assertTrue(true, "A custom message")
end

function suite:testAssertTrueFailed()
	self:assertTrue(false)
end

function suite:testAssertTrueFailedWithMessage()
	self:assertTrue(false, "A custom message")
end

function suite:testAssertStringContainsSuccessful()
	self:assertStringContains("contained", "has contained")
end

function suite:testAssertStringContainsFailed()
	self:assertStringContains("not contained", "will fail")
end

function suite:testAssertStringContainsFailedTruncated()
	self:assertStringContains("not contained",
		"does not contain given text and is a very long string, actually so long, that it will be truncated in the test report")
end
	
function suite:testAssertStringContainsFailedWithMessage()
	self:assertStringContains("not contained", "will fail with an extra message", false, "custom message")
end

function suite:testAssertEqualsSuccessful()
	self:assertEquals("is equal", "is equal")
end

function suite:testAssertEqualsFailed()
	self:assertEquals("not equal", "will fail")
end

function suite:testAssertEqualsFailedWithMessage()
	self:assertEquals("not equal", "will fail with an extra message", "custom message")
end

function suite:testAssertWithinDeltaSuccessful()
	self:assertWithinDelta(1/3, 0.33, 0.01)
end

function suite:testAssertWithinDeltaFailed()
	self:assertWithinDelta(0.2, 0.25, 0.01)
end

function suite:testAssertWithinDeltaFailedWithMessage()
	self:assertWithinDelta(0.2, 0.25, 0.01, "custom message")
end

function suite:testAssertDeepEqualsSuccessful()
	self:assertDeepEquals({ a = 2, b = 3}, { a = 2, b = 3})
end

function suite:testAssertDeepEqualsFailed()
	self:assertDeepEquals({ a = 3, b = 3}, mw.title.new('Wikipedia:Sandbox'))
end

function suite:testAssertTemplateEqualsSuccessful()
	self:assertTemplateEquals("4", 'add', {2,2})
end

function suite:testAssertThrowsSuccessful()
	self:assertThrows(function() error('msg') end)
end

function suite:testAssertThrowsFailed()
    self:assertThrows(function() end)
end

function suite:testAssertThrowsWithStringMessageSuccessful()
	self:assertThrows(function() error('msg') end, 'msg')
end

function suite:testAssertThrowsWithTableMessageSuccessful()
	self:assertThrows(function() error({'msg'}) end, {'msg'})
end

function suite:testAssertThrowsWithUnexpectedErrorMessageFailed()
	self:assertThrows(function() error('msg') end, 'foo')
end

return suite