local w=require(script.Parent.Parent.Util.BasicallyIdentical)return function()local u=require(script.Parent.Complementary)local T=Color3.new(1,0,0)local S={Color3.new(0,1,1)}it("\116\104\114\111\119\115 \105\102 \097\114\103\117\109\101\110\116 \105\115 \110\111\116 \097 \067\111\108\111\114\051",function()(expect(pcall(u,true))).to.equal(false);(expect(pcall(u,1))).to.equal(false)end)it("\114\101\116\117\114\110\115 \097\110 \097\114\114\097\121 \111\102 \067\111\108\111\114\051\115",function()local w=u(Color3.new());(expect(type(w))).to.equal("\116\097\098\108\101");(expect(typeof(w[1]))).to.equal("\067\111\108\111\114\051")end)it("\114\101\116\117\114\110\115 \097 \118\097\108\105\100 \112\097\108\101\116\116\101 \102\111\114 \114\101\100",function()local Z=u(T);(expect(w(S[1],Z[1]))).to.equal(true)end)end
local BasicallyIdentical = require(script.Parent.Parent.Util.BasicallyIdentical)

return function()
	local Complementary = require(script.Parent.Complementary)

	local swatch = Color3.new(1, 0, 0)
	local results = { Color3.new(0, 1, 1) }

	it("throws if argument is not a Color3", function()
		expect(pcall(Complementary, true)).to.equal(false)
		expect(pcall(Complementary, 1)).to.equal(false)
	end)

	it("returns an array of Color3s", function()
		local result = Complementary(Color3.new())

		expect(type(result)).to.equal("table")
		expect(typeof(result[1])).to.equal("Color3")
	end)

	it("returns a valid palette for red", function()
		local result = Complementary(swatch)

		expect(BasicallyIdentical(results[1], result[1])).to.equal(true)
	end)
end
