summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorThijs Schreijer <thijs@thijsschreijer.nl>2024-04-30 21:56:51 +0200
committerThijs Schreijer <thijs@thijsschreijer.nl>2024-04-30 21:56:51 +0200
commitfdf62fe6c4125d29b3097e49566b2bbe1f650382 (patch)
tree81dcf1a0818af6754c44583db3464ddfcab26af4 /spec
parentbd994461ef7c2553da9a6945c685152bad50eb8f (diff)
downloadluasystem-fdf62fe6c4125d29b3097e49566b2bbe1f650382.zip
review: bitflags no comparison, extra tests
Diffstat (limited to 'spec')
-rw-r--r--spec/05-bitflags_spec.lua17
1 files changed, 5 insertions, 12 deletions
diff --git a/spec/05-bitflags_spec.lua b/spec/05-bitflags_spec.lua
index 01bf958..8024245 100644
--- a/spec/05-bitflags_spec.lua
+++ b/spec/05-bitflags_spec.lua
@@ -71,11 +71,13 @@ describe("BitFlags library", function()
end)
it("sets and clears bits correctly", function()
- local bf = sys.bitflag(0)
+ local bf = sys.bitflag(8) -- b1000
bf[1] = true
- assert.is_true(bf[1])
+ assert.is_true(bf[1]) -- b1010
+ assert.equals(10, bf:value())
bf[1] = false
- assert.is_false(bf[1])
+ assert.is_false(bf[1]) -- b1000
+ assert.equals(8, bf:value())
end)
it("errors on setting invalid bit indexes", function()
@@ -85,15 +87,6 @@ describe("BitFlags library", function()
assert.has_error(function() bf.not_a_number = true end, "index must be a number")
end)
- it("handles <= and >= operations", function()
- local bf1 = sys.bitflag(3) -- b0011
- local bf2 = sys.bitflag(15) -- b1111
- assert.is_true(bf2 >= bf1) -- all bits in bf1 are set in bf2
- assert.is_true(bf2 > bf1) -- all bits in bf1 are set in bf2 and some more
- assert.is_false(bf2 <= bf1) -- not all bits in bf2 are set in bf1
- assert.is_false(bf2 < bf1) -- not all bits in bf2 are set in bf1
- end)
-
it("checks for a subset using 'has'", function()
local bf1 = sys.bitflag(3) -- b0011
local bf2 = sys.bitflag(3) -- b0011