Esempio n. 1
0
 class SpreadsheetColumn(DocumentObject):
     name = fields.CharRegister()
     cells = fields.List(SpreadsheetCell)
Esempio n. 2
0
 class Spreadsheet(Document):
     name = fields.CharRegister()
     columns = fields.List(SpreadsheetColumn)
     shares = fields.Collection(SpreadsheetShare)
Esempio n. 3
0
class TestListofLists1(Document):
    covers = fields.IntRegister()
    propertyowner2s = fields.List(TestListofLists2)
Esempio n. 4
0
class TestListofLists2(DocumentObject):
    cover = fields.IntRegister()
    quantity = fields.IntRegister()
    propertyowner2s = fields.List(TestListofLists3)
Esempio n. 5
0
    def runTest(self):
        dc1 = DocumentCollection(str(uuid.uuid4()))
        dc1.register(TestPropertyOwner1)

        fl = fields.List(TestPropertyOwner1)
        self.assertEqual(fl.theclass, TestPropertyOwner1)

        parent = uuid.uuid4()
        name = uuid.uuid4()
        flImpl = fl.create_instance(parent, name)
        self.assertEqual(flImpl.theclass, TestPropertyOwner1)
        self.assertEqual(flImpl.parent, parent)
        self.assertEqual(flImpl.name, name)

        self.assertEqual(len(flImpl), 0)
        with self.assertRaises(IndexError):
            flImpl[0]

        parent = TestPropertyOwner1()
        parent.dc = dc1
        name = "test"
        flImpl = fl.create_instance(parent, name)
        test1 = TestPropertyOwner1()
        self.assertEqual(parent.depth(), 0)
        flImpl.insert(0, test1)
        self.assertEqual(parent.depth(), 1)
        self.assertFalse(hasattr(flImpl, "_rendered_list"))
        self.assertEqual(len(flImpl), 1)
        self.assertEqual(flImpl[0].id, test1.id)

        self.assertEqual(len(flImpl._listnodes), 1) # A single addition should have been added for this

        test2 = TestPropertyOwner1()
        flImpl.insert(1, test2)
        self.assertEqual(parent.depth(), 2)
        self.assertEqual(len(flImpl), 2)
        self.assertEqual(flImpl[0].id, test1.id)
        self.assertEqual(flImpl[1].id, test2.id)

        test3 = TestPropertyOwner1()
        flImpl.insert(0, test3)
        self.assertEqual(parent.depth(), 3)
        self.assertEqual(len(flImpl), 3)
        self.assertEqual(flImpl[0].id, test3.id)
        self.assertEqual(flImpl[1].id, test1.id)
        self.assertEqual(flImpl[2].id, test2.id)

        flImpl.remove(1)
        self.assertEqual(parent.depth(), 4)
        self.assertEqual(len(flImpl), 2)
        self.assertEqual(flImpl[0].id, test3.id)
        self.assertEqual(flImpl[1].id, test2.id)

        #Test iteration
        l = list()
        for n in flImpl:
            l.append(n)
        self.assertEqual(flImpl[0].id, l[0].id)
        self.assertEqual(flImpl[1].id, l[1].id)

        flImpl.clean()
        self.assertEqual(len(flImpl._listnodes), 0)
        self.assertEqual(len(flImpl._tombstones), 0)
        self.assertFalse(hasattr(flImpl, "_rendered_list"))
Esempio n. 6
0
class TestFieldListOwner1(Document):
    covers = fields.IntRegister()
    propertyowner2s = fields.List(TestFieldListOwner2)