diff options
Diffstat (limited to 'tests/object.nom')
| -rw-r--r-- | tests/object.nom | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/tests/object.nom b/tests/object.nom index 186957d..d29fcdd 100644 --- a/tests/object.nom +++ b/tests/object.nom @@ -1,9 +1,10 @@ -#!/usr/bin/env nomsu -V2.4.4.3 +#!/usr/bin/env nomsu -V2.5.4.3 # Tests for the object model defined in lib/object.nom use "core" use "lib/object.nom" + object "Dog": (class Dog).genus = "Canus" method [initialize %] (%.barks or= 0) @@ -13,7 +14,7 @@ object "Dog": method [get pissed off] ((me).barks += 1) -%d = (new Dog {barks: 2}) +%d = (new Dog {barks:2}) as %d: assume ((me) == %d) assume ((me).barks == 2) @@ -28,17 +29,18 @@ assume ("\(%d.class)" == "Dog") assume (%d.genus == "Canus") assume (%d.barks == 3) as (new Dog) (assume ((me).barks == 0) or barf "Default initializer failed") -as (new Dog {barks: 1}) (assume ((bark) == "Bark!")) -action [foo] (as (new Dog {barks: 23}) (return (me).barks)) +as (new Dog {barks:1}) (assume ((bark) == "Bark!")) +action [foo] (as (new Dog {barks:23}) (return (me).barks)) assume ((foo) == 23) or barf "Oops, \(foo) != 23" -as (new Dog {barks: 101}): - try (as (new Dog {barks: 8}) (barf)) and if it succeeds (barf) - assume ((me).barks == 101) or barf "Error in nested 'as % %' failed to properly reset 'self'" +as (new Dog {barks:101}): + try (as (new Dog {barks:8}) (barf)) and if it succeeds (barf) + assume ((me).barks == 101) or barf ".." + Error in nested 'as % %' failed to properly reset 'self' object "Corgi" extends (class Dog) (method [sploot] "splooted") %corg = (new Corgi) assume (%corg.barks == 0) -as (new Corgi {barks: 1}): +as (new Corgi {barks:1}): assume ((sploot) == "splooted") or barf "subclass method failed" assume ((bark) == "Bark!") or barf "inheritance failed" assume ((woof) == "Bark!") |
