aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-01-31 15:31:25 -0800
committerBruce Hill <bitbucket@bruce-hill.com>2018-01-31 15:31:31 -0800
commitf1d4a568a3aa15f3c25524a848c0cc597d175d6e (patch)
treeb40645fdd3dab4dbf1052de5767e410eac3e395c
parenta387fd86a870bd1a34f206ec89c32d9d5c4d1c77 (diff)
Added test for OO.
-rw-r--r--tests/object.nom22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/object.nom b/tests/object.nom
new file mode 100644
index 0000000..7dbaca6
--- /dev/null
+++ b/tests/object.nom
@@ -0,0 +1,22 @@
+use "lib/core.nom"
+use "lib/object.nom"
+
+immediately:
+ define object "Dog":
+ action [bark]:
+ %barks <- ("Bark!" for all 1 to (@%barks))
+ return (%barks joined with " ")
+ action [get pissed off]:
+ (@%barks) +<- 1
+
+%d <- (new Dog {barks:2})
+as %d:
+ assume ((@) = %d)
+ assume ((@%barks) = 2)
+ assume ((bark) = "Bark! Bark!")
+ get pissed off
+ assume ((@%barks) = 3)
+ assume ((bark) = "Bark! Bark! Bark!")
+assume ("\(%d's "class")" = "Dog")
+assume ((%d's "barks") = 3)
+