aboutsummaryrefslogtreecommitdiff
path: root/test/tables.tm
diff options
context:
space:
mode:
Diffstat (limited to 'test/tables.tm')
-rw-r--r--test/tables.tm126
1 files changed, 45 insertions, 81 deletions
diff --git a/test/tables.tm b/test/tables.tm
index 66318f11..e13576a0 100644
--- a/test/tables.tm
+++ b/test/tables.tm
@@ -1,115 +1,79 @@
func main()
- >> t := {"one"=1, "two"=2}
- = {"one"=1, "two"=2}
-
- >> t["one"]
- = 1
- >> t["two"]
- = 2
- >> t["???"]
- = none
- >> t["one"]!
- = 1
- >> t["???"] or -1
- = -1
+ t := {"one"=1, "two"=2}
+ assert t == {"one"=1, "two"=2}
+
+ assert t["one"] == 1
+ assert t["two"] == 2
+ assert t["???"] == none
+ assert t["one"]! == 1
+ assert t["???"] or -1 == -1
t_str := ""
for k,v in t
t_str ++= "($k=$v)"
- >> t_str
- = "(one=1)(two=2)"
-
- >> t.length
- = 2
- >> t.fallback
- = none
-
- >> t.keys
- = ["one", "two"]
- >> t.values
- = [1, 2]
-
- >> t2 := {"three"=3; fallback=t}
- = {"three"=3; fallback={"one"=1, "two"=2}}
-
- >> t2["one"]
- = 1
- >> t2["three"]
- = 3
- >> t2["???"]
- = none
-
- >> t2.length
- = 1
- >> t2.fallback
- = {"one"=1, "two"=2}
+ assert t_str == "(one=1)(two=2)"
+
+ assert t.length == 2
+ assert t.fallback == none
+
+ assert t.keys == ["one", "two"]
+ assert t.values == [1, 2]
+
+ t2 := {"three"=3; fallback=t}
+ assert t2 == {"three"=3; fallback={"one"=1, "two"=2}}
+
+ assert t2["one"] == 1
+ assert t2["three"] == 3
+ assert t2["???"] == none
+
+ assert t2.length == 1
+ assert t2.fallback == {"one"=1, "two"=2}
t2_str := ""
for k,v in t2
t2_str ++= "($k=$v)"
- >> t2_str
- = "(three=3)"
+ assert t2_str == "(three=3)"
- >> {i=10*i for i in 5}
- = {1=10, 2=20, 3=30, 4=40, 5=50}
- >> {i=10*i for i in 5 if i mod 2 != 0}
- = {1=10, 3=30, 5=50}
- >> {x=10*x for x in y if x > 1 for y in [3, 4, 5] if y < 5}
- = {2=20, 3=30, 4=40}
+ assert {i=10*i for i in 5} == {1=10, 2=20, 3=30, 4=40, 5=50}
+ assert {i=10*i for i in 5 if i mod 2 != 0} == {1=10, 3=30, 5=50}
+ assert {x=10*x for x in y if x > 1 for y in [3, 4, 5] if y < 5} == {2=20, 3=30, 4=40}
>> t3 := @{1=10, 2=20, 3=30}
>> t3.remove(3)
- >> t3[]
- = {1=10, 2=20}
+ assert t3[] == {1=10, 2=20}
do
>> plain := {1=10, 2=20, 3=30}
- >> plain[2]!
- = 20
- >> plain[2]!
- = 20
- >> plain[456] or -999
- = -999
- >> plain.has(2)
- = yes
- >> plain.has(456)
- = no
+ assert plain[2]! == 20
+ assert plain[2]! == 20
+ assert plain[456] or -999 == -999
+ assert plain.has(2) == yes
+ assert plain.has(456) == no
>> fallback := {4=40; fallback=plain}
- >> fallback.has(1)
- = yes
- >> fallback[1] or -999
- = 10
+ assert fallback.has(1) == yes
+ assert fallback[1] or -999 == 10
do
>> t4 := &{"one"= 1}
>> t4["one"] = 999
>> t4["two"] = 222
- >> t4[]
- = {"one"=999, "two"=222}
+ assert t4[] == {"one"=999, "two"=222}
do
assert {1=1, 2=2} == {2=2, 1=1}
assert {1=1, 2=2} != {1=1, 2=999}
- >> {1=1, 2=2} <> {2=2, 1=1}
- = Int32(0)
- >> ints : [{Int=Int}] = [{}, {0=0}, {99=99}, {1=1, 2=2, 3=3}, {1=1, 99=99, 3=3}, {1=1, 2=-99, 3=3}, {1=1, 99=-99, 3=4}].sorted()
- = [{}, {0=0}, {1=1, 2=-99, 3=3}, {1=1, 2=2, 3=3}, {1=1, 99=99, 3=3}, {1=1, 99=-99, 3=4}, {99=99}]
+ assert ({1=1, 2=2} <> {2=2, 1=1}) == Int32(0)
+ ints : [{Int=Int}] = [{}, {0=0}, {99=99}, {1=1, 2=2, 3=3}, {1=1, 99=99, 3=3}, {1=1, 2=-99, 3=3}, {1=1, 99=-99, 3=4}]
+ assert ints.sorted() == [{}, {0=0}, {1=1, 2=-99, 3=3}, {1=1, 2=2, 3=3}, {1=1, 99=99, 3=3}, {1=1, 99=-99, 3=4}, {99=99}]
do
# Default values:
counter := &{"x"=10; default=0}
- >> counter["x"]
- = 10
- >> counter["y"]
- = 0
- >> counter.has("x")
- = yes
- >> counter.has("y")
- = no
+ assert counter["x"] == 10
+ assert counter["y"] == 0
+ assert counter.has("x") == yes
+ assert counter.has("y") == no
>> counter["y"] += 1
- >> counter
- >> counter[]
- = {"x"=10, "y"=1; default=0}