just starting

This commit is contained in:
2024-02-20 12:07:06 -06:00
parent 6a99504835
commit 604e3df41f
9 changed files with 1968 additions and 59 deletions

View File

@@ -13,7 +13,7 @@ describe("solver", function()
it("should create a solver", function()
assert.True(kiwi.is_solver(solver))
assert.False(kiwi.is_solver(kiwi.Term()))
assert.False(kiwi.is_solver(kiwi.Term(kiwi.Var("v1"))))
end)
describe("edit variables", function()
@@ -104,25 +104,15 @@ describe("solver", function()
end)
it("tolerates a nil self", function()
local _, err = pcall(function()
return kiwi.Solver.add_edit_var(nil, v1, kiwi.strength.STRONG) ---@diagnostic disable-line: param-type-mismatch
assert.error(function()
kiwi.Solver.add_edit_var(nil, v1, kiwi.strength.STRONG) ---@diagnostic disable-line: param-type-mismatch
end)
assert.True(kiwi.is_error(err))
assert.Nil(err.solver)
assert.equal(v1, err.item)
assert.equal("KiwiErrNullObject", err.kind)
assert.equal("null object passed as argument #0 (self)", err.message)
end)
it("tolerates a nil var", function()
local _, err = pcall(function()
return solver:add_edit_var(nil, kiwi.strength.STRONG) ---@diagnostic disable-line: param-type-mismatch
assert.error(function()
solver:add_edit_var(nil, kiwi.strength.STRONG) ---@diagnostic disable-line: param-type-mismatch
end)
assert.True(kiwi.is_error(err))
assert.True(kiwi.is_solver(err.solver))
assert.Nil(err.item)
assert.equal("KiwiErrNullObject", err.kind)
assert.equal("null object passed as argument #1", err.message)
end)
end)
@@ -154,7 +144,7 @@ describe("solver", function()
it("should require a strength argument", function()
assert.error(function()
solver:add_edit_vars({ v1, v2 }) ---@diagnostic disable-line: missing-parameter
end, "bad argument #3 to 'f' (cannot convert 'nil' to 'double')")
end)
end)
it("should error on duplicate variable", function()
@@ -211,14 +201,9 @@ describe("solver", function()
end)
it("tolerates a nil self", function()
local _, err = pcall(function()
return kiwi.Solver.add_edit_vars(nil, { v1, v2 }, kiwi.strength.STRONG) ---@diagnostic disable-line: param-type-mismatch
assert.has_error(function()
kiwi.Solver.add_edit_vars(nil, { v1, v2 }, kiwi.strength.STRONG) ---@diagnostic disable-line: param-type-mismatch
end)
assert.True(kiwi.is_error(err))
assert.Nil(err.solver)
assert.equal(v1, err.item)
assert.equal("KiwiErrNullObject", err.kind)
assert.equal("null object passed as argument #0 (self)", err.message)
end)
end)
@@ -274,25 +259,15 @@ describe("solver", function()
end)
it("tolerates a nil self", function()
local _, err = pcall(function()
return kiwi.Solver.remove_edit_var(nil, v1) ---@diagnostic disable-line: param-type-mismatch
assert.has_error(function()
kiwi.Solver.remove_edit_var(nil, v1) ---@diagnostic disable-line: param-type-mismatch
end)
assert.True(kiwi.is_error(err))
assert.Nil(err.solver)
assert.equal(v1, err.item)
assert.equal("KiwiErrNullObject", err.kind)
assert.equal("null object passed as argument #0 (self)", err.message)
end)
it("tolerates a nil var", function()
local _, err = pcall(function()
return solver:remove_edit_var(nil) ---@diagnostic disable-line: param-type-mismatch
assert.has_error(function()
solver:remove_edit_var(nil) ---@diagnostic disable-line: param-type-mismatch
end)
assert.True(kiwi.is_error(err))
assert.True(kiwi.is_solver(err.solver))
assert.Nil(err.item)
assert.equal("KiwiErrNullObject", err.kind)
assert.equal("null object passed as argument #1", err.message)
end)
end)
@@ -351,14 +326,9 @@ describe("solver", function()
end)
it("tolerates a nil self", function()
local _, err = pcall(function()
return kiwi.Solver.remove_edit_vars(nil, { v1, v2 }) ---@diagnostic disable-line: param-type-mismatch
assert.has_error(function()
kiwi.Solver.remove_edit_vars(nil, { v1, v2 }) ---@diagnostic disable-line: param-type-mismatch
end)
assert.True(kiwi.is_error(err))
assert.Nil(err.solver)
assert.equal(v1, err.item)
assert.equal("KiwiErrNullObject", err.kind)
assert.equal("null object passed as argument #0 (self)", err.message)
end)
end)
end)

View File

@@ -10,7 +10,7 @@ describe("Var", function()
assert.False(kiwi.is_var(kiwi.Constraint()))
assert.error(function()
kiwi.Var(1)
kiwi.Var({})
end)
end)
@@ -26,7 +26,7 @@ describe("Var", function()
v:set_name("Δ")
assert.equal("Δ", v:name())
assert.error(function()
v:set_name(1)
v:set_name({})
end)
end)