aboutsummaryrefslogtreecommitdiff
path: root/tests/object.nom
blob: 6433c86cd3ca19c935f938550d3fa233ab964d88 (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
25
26
27
use "core"
use "lib/object.nom"

immediately
    object "Dog"
        action [bark]
            %barks <- ("Bark!" for % in 1 to ((me).barks))
            return: %barks joined with " "

        action [get pissed off]
            ((me).barks) +<- 1

%d <-: new Dog {barks:2}
as %d
    assume: (me) = %d
    assume: ((me).barks) = 2
    assume: (bark) = "Bark! Bark!"
    get pissed off
    assume: ((me).barks) = 3
    assume: (bark) = "Bark! Bark! Bark!"
assume: "\(%d's "class")" = "Dog"
assume: (%d's "barks") = 3

as: new Dog {barks:1}
    assume: (bark) = "Bark!"

say "Object test passed."