10
sdesc = "<class Room>"
14
sdesc = "Starting Room"
26
sdesc = "<class Item>"
27
ldesc = "It looks like an ordinary <<sdesc>>. "
33
ldesc = "It's a book. "
41
class FixedItem: object
42
sdesc = "<class FixedItem>"
59
"Scanning all objects:\n";
60
for (obj = firstObj() ; obj != nil ; obj = nextObj(obj))
63
"\bScanning all class objects:\n";
64
for (obj = firstObj(ObjClasses) ; obj != nil ;
65
obj = nextObj(obj, ObjClasses))
68
"\bScanning all Rooms:\n";
69
for (obj = firstObj(Room) ; obj != nil ; obj = nextObj(obj, Room))
72
"\bScanning all Items:\n";
73
for (obj = firstObj(Item) ; obj != nil ; obj = nextObj(obj, Item))
76
"\bTesting ofKind:\n";
77
"startroom.ofKind(Room) = <<bool2str(startroom.ofKind(Room))>>\n";
78
"startroom.ofKind(Item) = <<bool2str(startroom.ofKind(Item))>>\n";
79
"box.ofKind(Room) = <<bool2str(box.ofKind(Room))>>\n";
80
"box.ofKind(Item) = <<bool2str(box.ofKind(Item))>>\n";
82
"\bTesting getSuperclassList:\n";
83
lst = startroom.getSuperclassList();
84
for (local i = 1, local len = lst.length() ; i <= len ; ++i)
85
"sc(startroom, <<i>>) = <<lst[i].sdesc>>\n";
87
lst = box.getSuperclassList();
88
for (local i = 1, local len = lst.length() ; i <= len ; ++i)
89
"sc(box, <<i>>) = <<lst[i].sdesc>>\n";
91
"\bTesting propDefined:\n";
92
"startroom.propDefined(sdesc) =
93
<<bool2str(startroom.propDefined(&sdesc))>>\n";
94
"startroom.propDefined(location) =
95
<<bool2str(startroom.propDefined(&location))>>\n";
96
"book.propDefined(sdesc) =
97
<<bool2str(book.propDefined(&sdesc))>>\n";
98
"book.propDefined(location) =
99
<<bool2str(book.propDefined(&location))>>\n";
102
"book.propDefined(&sdesc, PropDefDirectly) =
103
<<bool2str(book.propDefined(&sdesc, PropDefDirectly))>>\n";
104
"book.propDefined(&sdesc, PropDefInherits) =
105
<<bool2str(book.propDefined(&sdesc, PropDefInherits))>>\n";
106
"book.propDefined(&ldesc, PropDefDirectly) =
107
<<bool2str(book.propDefined(&ldesc, PropDefDirectly))>>\n";
108
"book.propDefined(&ldesc, PropDefInherits) =
109
<<bool2str(book.propDefined(&ldesc, PropDefInherits))>>\n";
110
"book.propDefined(&sdesc, PropDefGetClass) =
111
<<obj2str(book.propDefined(&sdesc, PropDefGetClass))>>\n";
112
"book.propDefined(&ldesc, PropDefGetClass) =
113
<<obj2str(book.propDefined(&ldesc, PropDefGetClass))>>\n";
116
"ball.propDefined(&sdesc, PropDefDirectly) =
117
<<bool2str(ball.propDefined(&sdesc, PropDefDirectly))>>\n";
118
"ball.propDefined(&sdesc, PropDefInherits) =
119
<<bool2str(ball.propDefined(&sdesc, PropDefInherits))>>\n";
120
"ball.propDefined(&ldesc, PropDefDirectly) =
121
<<bool2str(ball.propDefined(&ldesc, PropDefDirectly))>>\n";
122
"ball.propDefined(&ldesc, PropDefInherits) =
123
<<bool2str(ball.propDefined(&ldesc, PropDefInherits))>>\n";
124
"ball.propDefined(&sdesc, PropDefGetClass) =
125
<<obj2str(ball.propDefined(&sdesc, PropDefGetClass))>>\n";
126
"ball.propDefined(&ldesc, PropDefGetClass) =
127
<<obj2str(ball.propDefined(&ldesc, PropDefGetClass))>>\n";
129
"\bTesting propType:\n";
130
"startroom.propType(&sdesc) = <<startroom.propType(&sdesc)>>\n";
131
"startroom.propType(&location) = <<startroom.propType(&location)>>\n";
136
bool2str(x) { return x ? 'true' : 'nil'; }
138
obj2str(obj) { obj = nil ? "nil" : obj.sdesc; }