return function()local U=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local s=U.Packages local H=require(s.Llama)local X=H.List local Y=X.every it("\115\104\111\117\108\100 \118\097\108\105\100\097\116\101 \116\121\112\101\115",function()local U={{0},{{},0},{0;function() end}}for s=1,#U,1 do local H,X=pcall(function()Y(unpack(U[s]))end);(expect(string.find(X,"\101\120\112\101\099\116\101\100\044 \103\111\116"))).to.be.ok()end end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \097 \098\111\111\108\101\097\110",function()local function U(U)return function()return U end end;(expect(Y({},U(true)))).to.be.a("\098\111\111\108\101\097\110");(expect(Y({},U(false)))).to.be.a("\098\111\111\108\101\097\110")end)it("\115\104\111\117\108\100 \112\097\115\115 \116\104\101 \118\097\108\117\101 \097\110\100 \105\110\100\101\120 \116\111 \116\104\101 \112\114\101\100\105\099\097\116\101",function()local U={"\098\097\114"}local function s(s,H)(expect(s)).to.equal(U[H]);(expect(H)).to.equal(1)end Y(U,s)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \116\114\117\101 \105\102 \101\118\101\114\121 \101\110\116\114\121 \112\097\115\115\101\115 \116\104\101 \112\114\101\100\105\099\097\116\101",function()local U={"\102\111\111";"\102\111\111","\102\111\111"}local function s(U)return U=="\102\111\111"end;(expect(Y(U,s))).to.equal(true)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \102\097\108\115\101 \105\102 \110\111\116 \097\108\108 \101\110\116\114\105\101\115 \112\097\115\115 \116\104\101 \112\114\101\100\105\099\097\116\101",function()local U={"\102\111\111","\102\111\111","\098\097\114"}local function s(U)return U=="\102\111\111"end;(expect(Y(U,s))).to.equal(false)end)end
return function()
	local ReplicatedStorage = game:GetService("ReplicatedStorage")

	local Packages = ReplicatedStorage.Packages
	local Llama = require(Packages.Llama)

	local List = Llama.List
	local every = List.every

	it("should validate types", function()
		local args = {
			{ 0 },
			{ {}, 0 },
			{ 0, function() end },
		}

		for i = 1, #args do
			local _, err = pcall(function()
				every(unpack(args[i]))
			end)

			expect(string.find(err, "expected, got")).to.be.ok()
		end
	end)

	it("should return a boolean", function()
		local function always(value)
			return function()
				return value
			end
		end

		expect(every({}, always(true))).to.be.a("boolean")
		expect(every({}, always(false))).to.be.a("boolean")
	end)

	it("should pass the value and index to the predicate", function()
		local a = {
			"bar",
		}

		local function predicate(v, i)
			expect(v).to.equal(a[i])
			expect(i).to.equal(1)
		end

		every(a, predicate)
	end)

	it("should return true if every entry passes the predicate", function()
		local a = {
			"foo",
			"foo",
			"foo",
		}

		local function onlyFoo(v)
			return v == "foo"
		end

		expect(every(a, onlyFoo)).to.equal(true)
	end)

	it("should return false if not all entries pass the predicate", function()
		local a = {
			"foo",
			"foo",
			"bar",
		}

		local function onlyFoo(v)
			return v == "foo"
		end

		expect(every(a, onlyFoo)).to.equal(false)
	end)
end