return function()local C=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local q=C.Packages local t=require(q.Llama)local O=t.equalObjects it("\115\104\111\117\108\100 \114\101\116\117\114\110 \097 \098\111\111\108\101\097\110",function()local C={1;2;3}local q=C local t={4,5;6};(expect(O(C,q))).to.be.a("\098\111\111\108\101\097\110");(expect(O(C,t))).to.be.a("\098\111\111\108\101\097\110")end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \116\114\117\101 \105\102 \116\097\098\108\101\115 \104\097\118\101 \114\101\102\101\114\101\110\099\101 \101\113\117\097\108\105\116\121",function()local C={1,2;3}local q=C;(expect(O(C,q))).to.equal(true)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \102\097\108\115\101 \101\118\101\110 \105\102 \116\097\098\108\101\115 \104\097\118\101 \118\097\108\117\101 \101\113\117\097\108\105\116\121",function()local C={1;2,3}local q={1;2;3};(expect(O(C,q))).to.equal(false)end)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \097\114\098\105\116\114\097\114\121 \110\117\109\098\101\114\115 \111\102 \111\098\106\101\099\116\115",function()local C={1,2;3}local q=C local t=q local G={1,2;3}local J=G local F=J;(expect(O(C,q,t,G,J,F))).to.equal(false);(expect(O(C,q,t))).to.equal(true)end)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \111\110\101 \111\098\106\101\099\116",function()local C={1;2,3};(expect(O(C))).to.equal(true)end)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \122\101\114\111 \111\098\106\101\099\116\115",function()(expect(O())).to.equal(true)end)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \122\101\114\111 \116\097\098\108\101\115",function()(expect(O())).to.equal(true)end)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \097\110\121 \116\121\112\101",function()(expect(O(1,1))).to.equal(true);(expect(O(1,2))).to.equal(false)end)end
return function()
	local ReplicatedStorage = game:GetService("ReplicatedStorage")

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

	it("should return a boolean", function()
		local a = {1, 2, 3}
		local b = a
		local c = {4, 5, 6}

		expect(equalObjects(a, b)).to.be.a("boolean")
		expect(equalObjects(a, c)).to.be.a("boolean")
	end)

	it("should return true if tables have reference equality", function()
		local a = {1, 2, 3}
		local b = a

		expect(equalObjects(a, b)).to.equal(true)
	end)

	it("should return false even if tables have value equality", function()
		local a = {1, 2, 3}
		local b = {1, 2, 3}

		expect(equalObjects(a, b)).to.equal(false)
	end)

	it("should accept arbitrary numbers of objects", function()
		local a = {1, 2, 3}
		local b = a
		local c = b
		local d = {1, 2, 3}
		local e = d
		local f = e

		expect(equalObjects(a, b, c, d, e, f)).to.equal(false)
		expect(equalObjects(a, b, c)).to.equal(true)
	end)

	it("should accept one object", function()
		local a = {1, 2, 3}

		expect(equalObjects(a)).to.equal(true)
	end)

	it("should accept zero objects", function()
		expect(equalObjects()).to.equal(true)
	end)

	it("should accept zero tables", function()
		expect(equalObjects()).to.equal(true)
	end)

	it("should accept any type", function()
		expect(equalObjects(1, 1)).to.equal(true)
		expect(equalObjects(1, 2)).to.equal(false)
	end)
end