return function()local i=require(script.Parent.push)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \097\110 \097\114\114\097\121 \119\105\116\104 \110\101\119 \118\097\108\117\101\040\115\041 \097\100\100\101\100",function()local p=i({1,2,3},"\072\101\108\108\111");(expect(p)).to.be.a("\116\097\098\108\101");(expect(#p)).to.equal(4);(expect(p[1])).to.equal(1);(expect(p[2])).to.equal(2);(expect(p[3])).to.equal(3);(expect(p[4])).to.equal("\072\101\108\108\111")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 \097\114\114\097\121",function()local p={1,2,3}i(p,"\072\101\108\108\111");(expect(p)).to.be.a("\116\097\098\108\101");(expect(#p)).to.equal(3);(expect(p[1])).to.equal(1);(expect(p[2])).to.equal(2);(expect(p[3])).to.equal(3);(expect(p[4])).never.to.be.ok()end)end
return function()
	local Push = require(script.Parent.push)

	it("should return an array with new value(s) added", function()
		local array = Push({ 1, 2, 3 }, "Hello")

		expect(array).to.be.a("table")
		expect(#array).to.equal(4)

		expect(array[1]).to.equal(1)
		expect(array[2]).to.equal(2)
		expect(array[3]).to.equal(3)
		expect(array[4]).to.equal("Hello")
	end)

	it("should not modify the original array", function()
		local array = { 1, 2, 3 }

		Push(array, "Hello")

		expect(array).to.be.a("table")
		expect(#array).to.equal(3)

		expect(array[1]).to.equal(1)
		expect(array[2]).to.equal(2)
		expect(array[3]).to.equal(3)
		expect(array[4]).never.to.be.ok()
	end)
end
