Exemplo n.º 1
0
    def test_2(self):
        stream1 = {
            "kind": "A",
            "attrs": {"b": 1},
            "refs": {"refToD": "c"},
            "uid": "a",
        }

        a, missing = buildObject(None, stream1)
        self.assertEquals(a.b, 1)
        self.assertEquals(a.pendingRefs, {"refToD": "c"})
        self.assertEquals(missing, ["refToD"])

        stream2 = {
            "kind": "D",
            "attrs": {"e": 2, "f": 3},
            "uid": "refToD",
        }

        b, missing = buildObject(a, stream2)
        self.assertTrue(a is b)
        self.assertEquals(a.b, 1)
        self.assertEquals(missing, [])
        self.assertTrue(hasattr(a, "c"))
        self.assertEquals(a.c.e, 2)
        self.assertEquals(a.c.f, 3)
Exemplo n.º 2
0
    def test_3(self):
        stream1 = {
            "kind": "G",
            "uid": "g",
        }

        obj, missing = buildObject(None, stream1)
Exemplo n.º 3
0
    def test_4(self):
        stream1 = {
            "kind": "A",
            "refs": {"refTob": "b", "reftoc": "c"},
            "uid": "a",
        }

        obj, missing = buildObject(None, stream1)
        self.assertEquals(set(missing), set(["refTob", "reftoc"]))

        stream2 = {
            "kind": "A",
            "attrs": {"c": 3},
            "refs": {"refTob2": "b"},
            "uid": "reftoc",
        }

        obj, missing = buildObject(obj, stream2)
        self.assertEquals(set(missing), set(["refTob2", "refTob"]))
        self.assertTrue(hasattr(obj, "c"))
        self.assertEquals(obj.c.c, 3)

        stream3 = {
            "kind": "A",
            "attrs": {"b": 2, "c": 1},
            "uid": "refTob2",
        }

        obj, missing = buildObject(obj, stream3)
        self.assertEquals(set(missing), set(["refTob"]))
        
        stream4 = {
            "kind": "A",
            "attrs": {"b": 4, "c": 5},
            "uid": "refTob",
        }

        obj, missing = buildObject(obj, stream4)
        self.assertEquals(missing, [])

        self.assertEquals(obj.b.b, 4)
        self.assertEquals(obj.b.c, 5)
        self.assertEquals(obj.c.b.b, 2)
        self.assertEquals(obj.c.b.c, 1)
        self.assertEquals(obj.c.c, 3)
Exemplo n.º 4
0
 def test_lists(self):
     ## XXX stand by
     return
     stream1 = {"kind": "L", "uid": "l", "lists": {"l": 2}}
     obj, missing = buildObject(None, stream1)
     self.assertEquals(set(missing), set(["l.l.0", "l.l.1"]))