return function()local i=require(script.Parent.map)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \097 \100\105\099\116\105\111\110\097\114\121 \119\104\101\114\101 \101\110\116\114\105\101\115 \097\114\101 \116\104\101 \114\101\115\117\108\116 \111\102 \116\104\101 \109\097\112\112\101\114 \102\117\110\099\116\105\111\110",function()local R=i({hello="\114\111\098\108\111\120",goodbye="\119\111\114\108\100"},function(i)return i.."\033"end);(expect(R)).to.be.a("\116\097\098\108\101");(expect(R.hello)).to.equal("\114\111\098\108\111\120\033");(expect(R.goodbye)).to.equal("\119\111\114\108\100\033")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 \100\105\099\116\105\111\110\097\114\121",function()local R={hello="\114\111\098\108\111\120";goodbye="\119\111\114\108\100"}i(R,function(i)return i.."\033"end);(expect(R)).to.be.a("\116\097\098\108\101");(expect(R.hello)).to.equal("\114\111\098\108\111\120");(expect(R.goodbye)).to.equal("\119\111\114\108\100")end)end
return function()
	local Map = require(script.Parent.map)

	it("should return a dictionary where entries are the result of the mapper function", function()
		local dictionary = Map({ hello = "roblox", goodbye = "world" }, function(value)
			return value .. "!"
		end)

		expect(dictionary).to.be.a("table")

		expect(dictionary.hello).to.equal("roblox!")
		expect(dictionary.goodbye).to.equal("world!")
	end)

	it("should not modify the original dictionary", function()
		local dictionary = { hello = "roblox", goodbye = "world" }

		Map(dictionary, function(value)
			return value .. "!"
		end)

		expect(dictionary).to.be.a("table")

		expect(dictionary.hello).to.equal("roblox")
		expect(dictionary.goodbye).to.equal("world")
	end)
end
