return function()local l=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 \097\114\114\097\121",function()local S={1,2;3}local h=l(S);(expect(h)).to.equal(3)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 \097\114\114\097\121",function()local S={}local h=l(S);(expect(h)).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 S={1,2,3,4,5;6;7;8;9;10}local h=l(S,function(l)return l%2==0 end);(expect(h)).to.equal(5)end)end
return function()
	local Count = require(script.Parent.count)

	it("should return the number of elements in the given array", function()
		local array = { 1, 2, 3 }

		local count = Count(array)

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

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

		local count = Count(array)

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

	it("should return the number of elements matching the given predicate", function()
		local array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }

		local count = Count(array, function(value)
			return value % 2 == 0
		end)

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