return function()local w=require(script.Parent.zip)it("\115\104\111\117\108\100 \122\105\112 \116\111\103\101\116\104\101\114 \116\119\111 \097\114\114\097\121\115",function()local G={1;2;3}local b={"\097";"\098";"\099"}local D=w(G,b);(expect(D)).to.be.a("\116\097\098\108\101");(expect(#D)).to.equal(3);(expect(D[1])).to.be.a("\116\097\098\108\101");(expect(D[1][1])).to.equal(1);(expect(D[1][2])).to.equal("\097");(expect(D[2])).to.be.a("\116\097\098\108\101");(expect(D[2][1])).to.equal(2);(expect(D[2][2])).to.equal("\098");(expect(D[3])).to.be.a("\116\097\098\108\101");(expect(D[3][1])).to.equal(3);(expect(D[3][2])).to.equal("\099")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\115",function()local G={1;2;3}local b={"\097","\098","\099"}w(G,b);(expect(G)).to.be.a("\116\097\098\108\101");(expect(#G)).to.equal(3);(expect(G[1])).to.equal(1);(expect(G[2])).to.equal(2);(expect(G[3])).to.equal(3);(expect(b)).to.be.a("\116\097\098\108\101");(expect(#b)).to.equal(3);(expect(b[1])).to.equal("\097");(expect(b[2])).to.equal("\098");(expect(b[3])).to.equal("\099")end)end
return function()
	local Zip = require(script.Parent.zip)

	it("should zip together two arrays", function()
		local array1 = { 1, 2, 3 }
		local array2 = { "a", "b", "c" }

		local new = Zip(array1, array2)

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

		expect(new[1]).to.be.a("table")
		expect(new[1][1]).to.equal(1)
		expect(new[1][2]).to.equal("a")

		expect(new[2]).to.be.a("table")
		expect(new[2][1]).to.equal(2)
		expect(new[2][2]).to.equal("b")

		expect(new[3]).to.be.a("table")
		expect(new[3][1]).to.equal(3)
		expect(new[3][2]).to.equal("c")
	end)

	it("should not modify the original arrays", function()
		local array1 = { 1, 2, 3 }
		local array2 = { "a", "b", "c" }

		Zip(array1, array2)

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

		expect(array1[1]).to.equal(1)
		expect(array1[2]).to.equal(2)
		expect(array1[3]).to.equal(3)

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

		expect(array2[1]).to.equal("a")
		expect(array2[2]).to.equal("b")
		expect(array2[3]).to.equal("c")
	end)
end
