19 from test_objects
import *
21 a = Object(id=
"a", a=3)
22 b = Object(id=
"b", a=2)
23 c = Object(id=
"c", foo=42, parents=[a,b])
26 if c.get_all_attributes() != {
'id':
'c',
'parents': [
'a',
'b'],
'foo': 42,
'a': 3}:
27 print(
"get_all_attributes wrong?:", c.get_all_attributes())
29 abc = {
"a":a,
"b":b,
"c":c}
30 ent = Object(id=
"12", objtype=
"object", parents=[human_class], pos=[4.5, 6.5, -1.0])
32 if not c.has_parent(
"a")
or \
33 not c.has_parent(
"b")
or \
34 not c.has_parent(a)
or \
35 c.has_parent(
"fo")
or \
36 not c.has_parent(
"c")
or \
37 not c.has_parent(c)
or \
39 print(
"c.has_parent works wrong!")
41 if not has_parent(c, a)
or \
42 not has_parent(c,
"a")
or \
43 has_parent(c,
"af")
or \
44 not has_parent(
"c", a, abc)
or \
45 not has_parent(c,
"a", abc)
or \
46 not has_parent(
"c",
"a", abc)
or \
47 has_parent(c,
"af", abc)
or \
48 has_parent(
"c",
"af", abc):
49 print(
"has_parent works wrong!")
51 op = Operation(
"move", Object(loc=
"house1", pos=[2.1, 0.4, 0.0]), to=
"joe12")
52 if str(op) !=
'{\n\targ: {\n\t\tloc: "house1",\n\t\tpos: [2.1, 0.4, 0.0]\n\t},\n\tobjtype: "op",\n\tparents: ["move"],\n\tto: "joe12"\n}\n':
53 print(
"Operation doesn't match:", repr(op))
62 assert(a.peanut==
"blah")
69 assert(b.peanut==
"blah")
76 assert(c.peanut==
"blah")
83 assert(d.peanut==
"blah")
85 assert(d.peanut==
"blah")
91 assert(e.peanut==
"blah")