return function()local r=require(script.Parent.count)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \116\104\101 \110\117\109\098\101\114 \111\102 \101\108\101\109\101\110\116\115 \105\110 \116\104\101 \103\105\118\101\110 \100\105\099\116\105\111\110\097\114\121",function()local q={hello="\119\111\114\108\100",goodbye="\119\111\114\108\100"}local c=r(q);(expect(c)).to.equal(2)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \048 \102\111\114 \097\110 \101\109\112\116\121 \100\105\099\116\105\111\110\097\114\121",function()local q={}local c=r(q);(expect(c)).to.equal(0)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \116\104\101 \110\117\109\098\101\114 \111\102 \101\108\101\109\101\110\116\115 \109\097\116\099\104\105\110\103 \116\104\101 \103\105\118\101\110 \112\114\101\100\105\099\097\116\101",function()local q={hello="\119\111\114\108\100";goodbye="\119\111\114\108\100"}local c=r(q,function(r,q)return q=="\103\111\111\100\098\121\101"end);(expect(c)).to.equal(1)end)end
return function()
	local Count = require(script.Parent.count)

	it("should return the number of elements in the given dictionary", function()
		local dictionary = { hello = "world", goodbye = "world" }

		local count = Count(dictionary)

		expect(count).to.equal(2)
	end)

	it("should return 0 for an empty dictionary", function()
		local dictionary = {}

		local count = Count(dictionary)

		expect(count).to.equal(0)
	end)

	it("should return the number of elements matching the given predicate", function()
		local dictionary = { hello = "world", goodbye = "world" }

		local count = Count(dictionary, function(_, key)
			return key == "goodbye"
		end)

		expect(count).to.equal(1)
	end)
end
