return function()local n=require(script.Parent)it("\115\104\111\117\108\100 \098\101 \097 \116\097\098\108\101",function()(expect(n)).to.be.a("\116\097\098\108\101")end)it("\115\104\111\117\108\100 \110\111\116 \099\111\110\116\097\105\110 \097 \109\101\116\097\116\097\098\108\101",function()(expect(getmetatable(n))).to.equal(nil)end)it("\115\104\111\117\108\100 \116\104\114\111\119 \097\110 \101\114\114\111\114 \111\110 \097\116\116\101\109\112\116 \116\111 \109\111\100\105\102\121 \116\104\101 \101\120\112\111\114\116 \116\097\098\108\101",function()(expect(function()n.NEW_FIELD={}end)).to.throw();(expect(function()setmetatable(n,{})end)).to.throw()end)it("\115\104\111\117\108\100 \101\120\112\111\115\101 \107\110\111\119\110 \065\080\073\115",function()local I={getAlivePlayerHumanoid="\102\117\110\099\116\105\111\110";getAlivePlayerRootPart="\102\117\110\099\116\105\111\110";getPlayerFromCharacterDescendant="\116\097\098\108\101",getPlayerHumanoid="\102\117\110\099\116\105\111\110",getPlayerRootPart="\102\117\110\099\116\105\111\110";unequipPlayerTools="\102\117\110\099\116\105\111\110"};(expect(function()for n,J in n do assert(I[n]~=nil)assert(type(J)==I[n])end end)).never.throw()end)end
return function()
	local CharacterUtils = require(script.Parent)

	it("should be a table", function()
		expect(CharacterUtils).to.be.a("table")
	end)

	it("should not contain a metatable", function()
		expect(getmetatable(CharacterUtils)).to.equal(nil)
	end)

	it("should throw an error on attempt to modify the export table", function()
		expect(function()
			CharacterUtils.NEW_FIELD = {}
		end).to.throw()

		expect(function()
			setmetatable(CharacterUtils, {})
		end).to.throw()
	end)

	it("should expose known APIs", function()
		local knownAPIs = {
			getAlivePlayerHumanoid = "function",
			getAlivePlayerRootPart = "function",
			getPlayerFromCharacterDescendant = "table",
			getPlayerHumanoid = "function",
			getPlayerRootPart = "function",
			unequipPlayerTools = "function",
		}

		expect(function()
			for key, value in CharacterUtils do
				assert(knownAPIs[key] ~= nil)
				assert(type(value) == knownAPIs[key])
			end
		end).never.throw()
	end)
end
