From 0591d3db3a10f5b7e8788a856b708dd0c14a971e Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sat, 24 Feb 2024 15:32:02 -0500 Subject: Rename folder --- test/structs.nl | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 test/structs.nl (limited to 'test/structs.nl') diff --git a/test/structs.nl b/test/structs.nl new file mode 100644 index 00000000..a9bb545f --- /dev/null +++ b/test/structs.nl @@ -0,0 +1,52 @@ + +struct Pair(x,y:Int) +struct Mixed(x:Int, str:Str) + +func test_literals() + >> x := Pair(10, 20) + = Pair(x=10, y=20) + >> y := Pair(y=20, 10) + = Pair(x=10, y=20) + >> x == y + = yes + >> x == Pair(-1, -2) + = no +test_literals() + +func test_metamethods() + >> x := Pair(10, 20) + >> y := Pair(100, 200) + >> x == y + = no + >> x == Pair(10, 20) + = yes + >> x == Pair(10, 30) + = no + + >> x < Pair(11, 20) + = yes + >> t2 := {x=> "found"; default="missing"} + >> t2[x] + = "found" + >> t2[y] + = "missing" +test_metamethods() + +func test_mixed() + >> x := Mixed(10, "Hello") + >> y := Mixed(99, "Hello") + >> x == y + = no + >> x == Mixed(10, "Hello") + = yes + >> x == Mixed(10, "Bye") + = no + >> x < Mixed(11, "Hello") + = yes + >> t := {x=> "found"; default="missing"} + >> t[x] + = "found" + >> t[y] + = "missing" +test_mixed() + -- cgit v1.2.3