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