return function()local D=require(script.Parent.ElementKind)local F=require(script.Parent.Type)local t=require(script.Parent.createFragment)it("\115\104\111\117\108\100 \099\114\101\097\116\101 \110\101\119 \112\114\105\109\105\116\105\118\101 \101\108\101\109\101\110\116\115",function()local v=t({});(expect(v)).to.be.ok();(expect(F.of(v))).to.equal(F.Element);(expect(D.of(v))).to.equal(D.Fragment)end)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \099\104\105\108\100\114\101\110",function()local D=t({})local F=t({key=D});(expect(F.elements.key)).to.equal(D)end)end
return function()
	local ElementKind = require(script.Parent.ElementKind)
	local Type = require(script.Parent.Type)

	local createFragment = require(script.Parent.createFragment)

	it("should create new primitive elements", function()
		local fragment = createFragment({})

		expect(fragment).to.be.ok()
		expect(Type.of(fragment)).to.equal(Type.Element)
		expect(ElementKind.of(fragment)).to.equal(ElementKind.Fragment)
	end)

	it("should accept children", function()
		local subFragment = createFragment({})
		local fragment = createFragment({key = subFragment})

		expect(fragment.elements.key).to.equal(subFragment)
	end)
end