def test_new_items_have_current_tags(qApp): s = Document() s.setTags(['are', 'here', 'you']) layer1 = Layer(tags=['here']) s.addItem(layer1) p1 = Person(name='p1') assert p1.tags() == [] layer1.setActive(True) assert p1.tags() == [] p2 = Person(name='p2') s.addItem(p2) assert p1.tags() == [] assert p2.tags() == ['here'] layer2 = Layer(tags=['you'], active=True) s.addItem(layer2) assert p1.tags() == [] assert p2.tags() == ['here'] p3 = Person(name='p3') s.addItem(p3) assert p1.tags() == [] assert p2.tags() == ['here'] assert p3.tags() == ['here', 'you'] layer1.setActive(False) p4 = Person(name='p4') s.addItem(p4) assert p1.tags() == [] assert p2.tags() == ['here'] assert p3.tags() == ['here', 'you'] assert p4.tags() == ['you']
def test_update_set_tag_on_inspected_items_out_of_layer(qApp): """ Show layer with people that have emotional process symbols that don’t have the layer’s tags, inspect those symbols from personal timeline, add tag for the layer -> symbols don’t appear. """ tags = ['here'] s = Document() s.setTags(tags) layer1 = Layer(tags=tags) s.addItem(layer1) p1 = Person(name='p1', tags=tags) p2 = Person(name='p2', tags=tags) s.addItems(p1, p2) cutoff = Emotion(kind=util.ITEM_CUTOFF, personA=p1, personB=p2) s.addItems(cutoff) layer1.setActive(True) date = QDate.currentDate() assert p1.shouldShowFor(date, tags) == True assert p2.shouldShowFor(date, tags) == True assert cutoff.shouldShowFor(date, tags) == False assert cutoff.isVisible() == False # Simulate inspecting a hidden emotion from person props cutoff.setTags(tags) assert cutoff.shouldShowFor(date, tags) == True assert cutoff.isVisible() == True
def test_set_active(qApp): document = Document() model = TagsModel() model.document = document item1 = Item() item2 = Item() model.items = [item1, item2] document.setTags(['here', 'we', 'are']) assert item1.tags() == [] assert item2.tags() == [] def set(row, value): assert model.setData(model.index(row, 0), value, model.ActiveRole) is True set(0, True) assert item1.tags() == ['are'] assert item2.tags() == ['are'] set(2, True) assert item1.tags() == ['are', 'we'] assert item2.tags() == ['are', 'we'] set(0, False) assert item1.tags() == ['we'] assert item2.tags() == ['we'] set(2, False) assert item1.tags() == [] assert item2.tags() == []
def test_rename_tag_retains_tag_on_items(qApp): s = Document() s.setTags(['aaa', 'ccc', 'ddd']) item = Item() s.addItem(item) item.setTags(['ddd']) s.renameTag('ddd', 'bbb') assert s.tags() == ['aaa', 'bbb', 'ccc'] assert item.tags() == ['bbb']
def __test_getPrintRect(qApp): # was always changing by a few pixels... s = Document() s.setTags(['NW', 'NE', 'SW', 'SE']) northWest = Person(name='NW', pos=QPointF(-1000, -1000), tags=['NW']) northEast = Person(name='NE', pos=QPointF(1000, -1000), tags=['NE']) southWest = Person(name='SW', pos=QPointF(-1000, 1000), tags=['SW']) southEast = Person(name='SE', pos=QPointF(1000, 1000), tags=['SE']) s.addItems(northWest, northEast, southWest, southEast) fullRect = s.getPrintRect() assert fullRect == QRectF(-1162.5, -1181.25, 2407.5, 2343.75) nwRect = s.getPrintRect(forTags=['NW']) assert nwRect == QRectF(-1162.5, -1181.25, 417.5, 343.75)
def test_rename_tag_retains_tag_on_items(qApp): s = Document() s.setTags(['aaa', 'ccc', 'ddd']) item = Item() s.addItem(item) item.setTags(['ddd']) model = TagsModel() model.items = [item] model.document = s assert model.data(model.index(2, 0), model.NameRole) == 'ddd' dataChanged = util.Condition() model.dataChanged.connect(dataChanged) modelReset = util.Condition() model.modelReset.connect(modelReset) model.setData(model.index(2, 0), 'bbb', model.NameRole) assert s.tags() == ['aaa', 'bbb', 'ccc'] assert item.tags() == ['bbb'] assert modelReset.callCount == 1 assert dataChanged.callCount == 0