return function()local g=require(script.Parent.findTag)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \116\114\117\101 \105\102 \116\097\103 \105\115 \112\114\101\115\101\110\116 \105\110 \103\105\118\101\110 \099\111\110\116\097\105\110\101\114",function()local r=Instance.new("\070\111\108\100\101\114")local m=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")m.Name="\095\095\119\097\116\099\104\101\114"m.Parent=r;(expect(g(r))).to.equal(m)r:Destroy()end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \102\097\108\115\101 \105\102 \116\104\101\114\101 \105\115 \110\111\116\104\105\110\103 \105\110 \116\104\101 \099\111\110\116\097\105\110\101\114",function()local r=Instance.new("\070\111\108\100\101\114");(expect(g(r))).to.equal(nil)r:Destroy()end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \102\097\108\115\101 \105\102 \116\104\101\114\101 \097\114\101 \099\104\105\108\100\114\101\110 \105\110 \116\104\101 \099\111\110\116\097\105\110\101\114\044 \098\117\116 \110\111\110\101 \109\097\116\099\104 \116\104\101 \110\097\109\101 \111\102 \116\104\101 \116\097\103",function()local r=Instance.new("\070\111\108\100\101\114")local m=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")m.Name="\102\111\111-\119\104\097\116\101\118\101\114"m.Parent=r;(expect(g(r))).to.equal(nil)r:Destroy()end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \102\097\108\115\101 \105\102 \116\104\101\114\101 \097\114\101 \099\104\105\108\100\114\101\110 \105\110 \116\104\101 \099\111\110\116\097\105\110\101\114\044 \098\117\116 \110\111\110\101 \097\114\101 \097 \115\116\114\105\110\103 \118\097\108\117\101",function()local r=Instance.new("\070\111\108\100\101\114")local m=Instance.new("\070\111\108\100\101\114")m.Name="\095\095\119\097\116\099\104\101\114"m.Parent=r;(expect(g(r))).to.equal(nil)r:Destroy()end)end
return function()
	local findTag = require(script.Parent.findTag)

	it("should return true if tag is present in given container", function()
		local folder = Instance.new("Folder")
		local tag = Instance.new("StringValue")
		tag.Name = "__watcher"
		tag.Parent = folder

		expect(findTag(folder)).to.equal(tag)

		folder:Destroy()
	end)

	it("should return false if there is nothing in the container", function()
		local folder = Instance.new("Folder")

		expect(findTag(folder)).to.equal(nil)

		folder:Destroy()
	end)

	it("should return false if there are children in the container, but none match the name of the tag", function()
		local folder = Instance.new("Folder")
		local tag = Instance.new("StringValue")
		tag.Name = "foo-whatever"
		tag.Parent = folder

		expect(findTag(folder)).to.equal(nil)

		folder:Destroy()
	end)

	it("should return false if there are children in the container, but none are a string value", function()
		local folder = Instance.new("Folder")
		local tag = Instance.new("Folder")
		tag.Name = "__watcher"
		tag.Parent = folder

		expect(findTag(folder)).to.equal(nil)

		folder:Destroy()
	end)
end