add gs
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
return function()
|
||||
local Create = require(script.Parent.Create)
|
||||
|
||||
describe("merge", function()
|
||||
it("should merge lists", function()
|
||||
local a = {1, 2}
|
||||
local b = {3, 4}
|
||||
local c = {5, 6}
|
||||
|
||||
local d = Create.merge(a, b, c)
|
||||
|
||||
for index, value in ipairs(d) do
|
||||
expect(value).to.equal(index)
|
||||
end
|
||||
end)
|
||||
|
||||
it("should merge dictionaries", function()
|
||||
local a = {
|
||||
hello = "world",
|
||||
foo = "bar"
|
||||
}
|
||||
|
||||
local b = {
|
||||
hello = "mom",
|
||||
baz = "qux"
|
||||
}
|
||||
|
||||
local c = Create.merge(a, b)
|
||||
|
||||
expect(c.foo).to.equal(a.foo)
|
||||
expect(c.hello).to.equal(b.hello)
|
||||
expect(c.baz).to.equal(b.baz)
|
||||
end)
|
||||
|
||||
it("should merge mixed tables", function()
|
||||
local a = {
|
||||
1, 2, 3,
|
||||
foo = "foo",
|
||||
bar = "bar"
|
||||
}
|
||||
|
||||
local b = {
|
||||
4, 5, 6,
|
||||
foo = "hello",
|
||||
baz = "baz"
|
||||
}
|
||||
|
||||
local c = Create.merge(a, b)
|
||||
|
||||
for index, value in ipairs(c) do
|
||||
expect(value).to.equal(index)
|
||||
end
|
||||
|
||||
expect(c.bar).to.equal(a.bar)
|
||||
expect(c.foo).to.equal(b.foo)
|
||||
expect(c.baz).to.equal(b.baz)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe("new", function()
|
||||
it("should create objects with the correct type", function()
|
||||
local created = Create.new("StringValue")()
|
||||
|
||||
expect(created).to.be.ok()
|
||||
expect(created.ClassName).to.equal("StringValue")
|
||||
end)
|
||||
|
||||
it("should assign properties", function()
|
||||
local created = Create.new("StringValue")({
|
||||
Name = "Created"
|
||||
})
|
||||
|
||||
expect(created).to.be.ok()
|
||||
expect(created.Name).to.equal("Created")
|
||||
end)
|
||||
|
||||
it("should merge multiple property declarations", function()
|
||||
local created = Create.new("StringValue")({
|
||||
Name = "Foo",
|
||||
Value = "Some Value"
|
||||
}, {
|
||||
Name = "Bar"
|
||||
})
|
||||
|
||||
expect(created).to.be.ok()
|
||||
expect(created.Name).to.equal("Bar")
|
||||
expect(created.Value).to.equal("Some Value")
|
||||
end)
|
||||
|
||||
it("should throw on assignment of Parent", function()
|
||||
expect(function()
|
||||
local root = Instance.new("StringValue")
|
||||
|
||||
Create.new("StringValue")({
|
||||
Parent = root
|
||||
})
|
||||
end).to.throw()
|
||||
end)
|
||||
|
||||
it("should add children from construction", function()
|
||||
local marker = Instance.new("StringValue")
|
||||
marker.Name = "Marker"
|
||||
|
||||
local created = Create.new("StringValue")({
|
||||
Name = "Created",
|
||||
marker
|
||||
})
|
||||
|
||||
expect(marker.Parent).to.equal(created)
|
||||
end)
|
||||
end)
|
||||
end
|
||||
Reference in New Issue
Block a user