return function()local Y=require(script.Parent.Type)describe("\111\102",function()it("\115\104\111\117\108\100 \114\101\116\117\114\110 \110\105\108 \105\102 \116\104\101 \118\097\108\117\101 \105\115 \110\111\116 \097 \116\097\098\108\101",function()(expect(Y.of(1))).to.equal(nil);(expect(Y.of(true))).to.equal(nil);(expect(Y.of("\116\101\115\116"))).to.equal(nil);(expect(Y.of(print))).to.equal(nil)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \110\105\108 \105\102 \116\104\101 \116\097\098\108\101 \104\097\115 \110\111 \116\121\112\101",function()(expect(Y.of({}))).to.equal(nil)end)it("\115\104\111\117\108\100 \114\101\116\117\114\110 \116\104\101 \097\115\115\105\103\110\101\100 \116\121\112\101",function()local i={[Y]=Y.Element};(expect(Y.of(i))).to.equal(Y.Element)end)end)end
return function()
	local Type = require(script.Parent.Type)

	describe("of", function()
		it("should return nil if the value is not a table", function()
			expect(Type.of(1)).to.equal(nil)
			expect(Type.of(true)).to.equal(nil)
			expect(Type.of("test")).to.equal(nil)
			expect(Type.of(print)).to.equal(nil)
		end)

		it("should return nil if the table has no type", function()
			expect(Type.of({})).to.equal(nil)
		end)

		it("should return the assigned type", function()
			local test = {
				[Type] = Type.Element,
			}

			expect(Type.of(test)).to.equal(Type.Element)
		end)
	end)
end
