aboutsummaryrefslogtreecommitdiff
path: root/tests/object.nom
blob: 84524e5712544d841b258eb9d960e1318797c590 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use "core"
use "lib/object2.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)

say "Object test passed."