local F={{"\108\105\098\047\115\104\097\114\101\100","\087\111\114\108\100\069\110\103\105\110\101","\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101"};{"\108\105\098\047\115\101\114\118\101\114","\087\111\114\108\100\069\110\103\105\110\101","\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101"};{"\109\111\100\117\108\101\115\047\116\101\115\116\101\122\047\108\105\098";"\084\101\115\116\069\090"}}package.path=package.path.."\059\063\047\105\110\105\116\046\108\117\097"local t=require("\109\111\100\117\108\101\115\046\108\101\109\117\114")local l=t.Habitat.new()local B=l.game local A=B:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local U=B:GetService("\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101")local v=t.Instance.new("\070\111\108\100\101\114")v.Name="\082\111\111\116"for F,t in ipairs(F)do local A=l:loadFromFs(t[1])A.Name=t[2]local U=t[3]if U then A.Parent=B:GetService(U)else A.Parent=v end end local W=l:require(v.TestEZ)local j=W.TestBootstrap:run({A.WorldEngine;U.WorldEngine},W.Reporters.TextReporter)if j.failureCount>0 then os.exit(1)end
--[[
	Loads our library and all of its dependencies, then runs tests using TestEZ.
]]
-- If you add any dependencies, add them to this table so they'll be loaded!
local LOAD_MODULES = {
	{"lib/shared", "WorldEngine", "ReplicatedStorage"},
	{"lib/server", "WorldEngine", "ServerScriptService"},
	{"modules/testez/lib", "TestEZ"}
}

-- This makes sure we can load Lemur and other libraries that depend on init.lua
package.path = package.path .. ";?/init.lua"

-- If this fails, make sure you've cloned all Git submodules of this repo!
local lemur = require("modules.lemur")

-- Create a virtual Roblox tree
local habitat = lemur.Habitat.new()
local game = habitat.game
local replicated = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")

-- We'll put all of our library code and dependencies here
local Root = lemur.Instance.new("Folder")
Root.Name = "Root"

-- Load all of the modules specified above
for _, module in ipairs(LOAD_MODULES) do
	local container = habitat:loadFromFs(module[1])
	container.Name = module[2]

	local parent = module[3]
	if (parent) then
		container.Parent = game:GetService(parent)
	else
		container.Parent = Root
	end
end

-- Load TestEZ and run our tests
local TestEZ = habitat:require(Root.TestEZ)

local results = TestEZ.TestBootstrap:run({replicated.WorldEngine, ServerScriptService.WorldEngine}, TestEZ.Reporters.TextReporter)

-- Did something go wrong?
if results.failureCount > 0 then
	os.exit(1)
end
