local catPair = require('Module:Category pair') -- the module to be tested
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

local function makeCat(s)
	return mw.title.new(s,"Category")
end

function suite:test()
	self:assertStringContains(
		"See also the preceding [[:Category:1934 FIFA World Cup]] and the succeeding [[:Category:1950 FIFA World Cup]]",
		catPair._pair(makeCat("1934 FIFA World Cup"),makeCat("1950 FIFA World Cup")),
		true,"Pair exists failure")
	self:assertStringContains(
		"seealso",
		catPair._pair(makeCat("1934 FIFA World Cup"),makeCat("1950 FIFA World Cup")),
		true,"Missing seealso class")
	self:assertStringContains(
		"See also the preceding [[:Category:1934 FIFA World Cup]]",
		catPair._pair(makeCat("1934 FIFA World Cup"),nil),
		true,"Preceding exists failure")
	self:assertStringContains(
		"See also the succeeding [[:Category:1950 FIFA World Cup]]",
		catPair._pair(nil,makeCat("1950 FIFA World Cup")),
		true,"Succeeding exists failure")
	self:assertStringContains(
		"See also the preceding [[:Category:1934 British Empire Games]]",
		catPair._pair(makeCat("1934 British Empire Games"),makeCat("1942 British Empire Games")),
		true,"Only preceding exists failure")
	self:assertStringContains(
		"See also the succeeding [[:Category:1954 British Empire and Commonwealth Games]]",
		catPair._pair(makeCat("1946 British Empire Games"),makeCat("1954 British Empire and Commonwealth Games")),
		true,"Succeeding exists failure")
	self:assertEquals(catPair._pair(makeCat("AD 10 FIFA World Cup"),makeCat("1AD 18 FIFA World Cup")),"",
		"Both missing failure")
end

return suite