return function()local H=require(script.Parent.delete)it("\115\104\111\117\108\100 \100\101\108\101\116\101 \097 \118\097\108\117\101 \102\114\111\109 \097 \115\101\116",function()local n={hello=true}local E=H(n,"\104\101\108\108\111");(expect(E)).to.be.a("\116\097\098\108\101");(expect(E)).never.to.equal(n);(expect(E.hello)).to.equal(nil)end)it("\115\104\111\117\108\100 \110\111\116 \109\111\100\105\102\121 \116\104\101 \111\114\105\103\105\110\097\108 \115\101\116",function()local n={hello=true}H(n,"\104\101\108\108\111");(expect(n)).to.be.a("\116\097\098\108\101");(expect(n.hello)).to.equal(true)end)end
return function()
	local delete = require(script.Parent.delete)

	it("should delete a value from a set", function()
		local set = { hello = true }

		local newSet = delete(set, "hello")

		expect(newSet).to.be.a("table")
		expect(newSet).never.to.equal(set)

		expect(newSet.hello).to.equal(nil)
	end)

	it("should not modify the original set", function()
		local set = { hello = true }

		delete(set, "hello")

		expect(set).to.be.a("table")
		expect(set.hello).to.equal(true)
	end)
end
