local roblox = require("@lune/roblox") local Instance = roblox.Instance -- Should not allow creating unknown classes assert(not pcall(function() Instance.new("asdf") end)) -- Should be case sensitive assert(not pcall(function() Instance.new("part") end)) -- Should allow "not creatable" tagged classes to be created Instance.new("BasePart") -- Should have correct classnames assert(Instance.new("Part").ClassName == "Part") assert(Instance.new("Folder").ClassName == "Folder") assert(Instance.new("ReplicatedStorage").ClassName == "ReplicatedStorage") -- Should have initial names that are the same as the class name assert(Instance.new("Part").Name == "Part") assert(Instance.new("Folder").Name == "Folder") assert(Instance.new("ReplicatedStorage").Name == "ReplicatedStorage") -- Parent should be nil until parented local folder = Instance.new("Folder") local model = Instance.new("Model") assert(folder.Parent == nil) assert(model.Parent == nil) -- Parenting and indexing should work model.Parent = folder assert(model.Parent == folder) assert((folder :: any).Model == model) -- Parenting to nil should work model.Parent = nil assert(model.Parent == nil) -- Name should be able to be set, and should not be nillable model.Name = "MyCoolModel" assert(model.Name == "MyCoolModel") assert(not pcall(function() model.Name = nil :: any end)) assert(model.Name == "MyCoolModel")