def test_model_insertrow(stubitemdata1, stub_model, stub_model_indexes): m = stub_model[0] rows = (0, 0, 2) parent = stub_model_indexes[0] parentitem = parent.internalPointer() for r in rows: i = easymodel.TreeItem(stubitemdata1()) inserted = m.insertRow(r, i, parent) assert inserted is True assert i._model is m assert i._parent is parentitem assert parent.internalPointer().childItems[r] is i assert m.index(r, 0, parent).internalPointer() is i newidata = stubitemdata1() newi = newidata.to_item(data=newidata) newi2 = stubitemdata1().to_item(newi) newi3 = stubitemdata1().to_item() newi2.add_child(newi3) assert newi3._parent is newi2 assert newi2.childItems[0] is newi3 newi.set_parent(i) assert newi._model is m assert newi2._model is m assert newi._parent is i assert newi2._parent is newi assert newi.childItems[0] is newi2 assert i.childItems[0] is newi
def stub_tree(stubitemdata1, stubitemdata2): """Simple :class:`easymodel.TreeItem` tree. :root: TreeItem(None) :itdata1: stubitemdata2 :c1: TreeItem(itdata1, root) :c2: TreeItem(stubitemdata2, root) :c3: TreeItem(stubitemdata1, c2) :returns: (root, c1, c2, c3, itdata1) """ root = easymodel.TreeItem(None) itdata1 = stubitemdata2() c1 = easymodel.TreeItem(itdata1, root) c2 = easymodel.TreeItem(stubitemdata2(), root) c3 = easymodel.TreeItem(stubitemdata1(), c2) return ( root, c1, c2, c3, itdata1, )
def test_model_headerdata(stub_model): m = stub_model[0] for i in range(10): assert m.headerData(i, QtCore.Qt.Horizontal, DR) == str(i + 1) assert m.headerData(i, QtCore.Qt.Vertical, DR) == str(i + 1) rootdata = easymodel.ListItemData(['Sec1', 'Head2', 'Chap3']) root = easymodel.TreeItem(rootdata) m2 = easymodel.TreeModel(root) assert m2.headerData(0, QtCore.Qt.Horizontal, DR) == 'Sec1' assert m2.headerData(1, QtCore.Qt.Horizontal, DR) == 'Head2' assert m2.headerData(2, QtCore.Qt.Horizontal, DR) == 'Chap3' assert m2.headerData(3, QtCore.Qt.Horizontal, DR) == '4' assert m2.headerData(99, QtCore.Qt.Horizontal, DR) == '100' assert m2.headerData(3, QtCore.Qt.Vertical, DR) == '4' assert m2.headerData(99, QtCore.Qt.Vertical, DR) == '100'
def model(): rootdata = easymodel.ListItemData(['Column0', 'Column1']) root = easymodel.TreeItem(rootdata) # Create a new model with the root model = easymodel.TreeModel(root) datal0r0 = easymodel.ListItemData(['l0r0c0', 'l0r0c1']) datal0r1 = easymodel.ListItemData(['l0r1c0', 'l0r1c1']) datal1r0 = easymodel.ListItemData(['l1r0c0', 'l1r0c1']) datal1r1 = easymodel.ListItemData(['l1r1c0', 'l1r1c1']) datal2r0 = easymodel.ListItemData(['l2r0c0', 'l2r0c1']) datal2r1 = easymodel.ListItemData(['l2r1c0', 'l2r1c1']) iteml0r0 = easymodel.TreeItem(datal0r0, parent=root) easymodel.TreeItem(datal0r1, parent=root) iteml1r0 = easymodel.TreeItem(datal1r0, parent=iteml0r0) easymodel.TreeItem(datal1r1, parent=iteml0r0) easymodel.TreeItem(datal2r0, parent=iteml1r0) easymodel.TreeItem(datal2r1, parent=iteml1r0) return model
def stub_model(stubitemdata1, stubitemdata2): """Tree model. Returns (m, root, c1, c2, c3, c4, c5) :m: the model :root: TreeItem(None) :c1: TreeItem(stubitemdata2(), root) :c2: TreeItem(stubitemdata2(), root) :c3: TreeItem(stubitemdata1(), c2) :c4: TreeItem(stubitemdata1(), c2) :c5: TreeItem(stubitemdata1(), c4) """ root = easymodel.TreeItem(None) m = easymodel.TreeModel(root) c1 = easymodel.TreeItem(stubitemdata2(), root) c2 = easymodel.TreeItem(stubitemdata2(), root) c3 = easymodel.TreeItem(stubitemdata1(), c2) c4 = easymodel.TreeItem(stubitemdata1(), c2) c5 = easymodel.TreeItem(stubitemdata1(), c4) return (m, root, c1, c2, c3, c4, c5)
def test_treeitem_set_data(new, stubitemdata1): itdata = stubitemdata1() ti = easymodel.TreeItem(itdata, ) ti.set_data(0, new, DR) assert ti.data(0, DR) == new
def test_treeitem_internal_data(stub_tree): for i in stub_tree[1:-1]: assert i.internal_data() is None l = [1, 2, 3] data = easymodel.ListItemData(l) assert easymodel.TreeItem(data).internal_data() is l