local w=require(script.Parent.Parent.Util.BasicallyIdentical)local u=require(script.Parent.Lerp)local T=Color3.fromHex("\035\048\048\097\050\102\102")local S=Color3.fromHex("\035\056\101\099\101\097\049")local Z=Color3.fromHex("\035\097\050\102\102\048\048")return function()it("\108\101\114\112\115 \098\101\116\119\101\101\110 \116\119\111 \099\111\108\111\114\115",function()local g=u(T,Z,.5);(expect(w(g,S))).to.equal(true)end)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(function()u(nil,Z,.5)end)).to.throw();(expect(function()u(T,nil,.5)end)).to.throw();(expect(function()u(T,Z,nil)end)).to.throw()end)it("\116\104\114\111\119\115 \105\102 \097\108\112\104\097 \105\115 \110\111\116 \097 \110\117\109\098\101\114",function()(expect(function()u(T,Z,"\048\046\053")end)).to.throw()end)end
local basicallyIdentical = require(script.Parent.Parent.Util.BasicallyIdentical)
local labLerp = require(script.Parent.Lerp)

local START_COLOR3 = Color3.fromHex("#00a2ff")
local MID_COLOR3 = Color3.fromHex("#8ecea1")
local END_COLOR3 = Color3.fromHex("#a2ff00")

return function()
	it("lerps between two colors", function()
		local lerp = labLerp(START_COLOR3, END_COLOR3, 0.5)
		expect(basicallyIdentical(lerp, MID_COLOR3)).to.equal(true)
	end)

	it("throws if argument is not a Color3", function()
		expect(function()
			labLerp(nil, END_COLOR3, 0.5)
		end).to.throw()

		expect(function()
			labLerp(START_COLOR3, nil, 0.5)
		end).to.throw()

		expect(function()
			labLerp(START_COLOR3, END_COLOR3, nil)
		end).to.throw()
	end)

	it("throws if alpha is not a number", function()
		expect(function()
			labLerp(START_COLOR3, END_COLOR3, "0.5")
		end).to.throw()
	end)
end
