void shouldRemoveCollections() { // GIVEN auto data = Testlib::AkonadiFakeData(); QScopedPointer<Akonadi::MonitorInterface> monitor(data.createMonitor()); QSignalSpy spy(monitor.data(), &Akonadi::MonitorInterface::collectionRemoved); auto c1 = Akonadi::Collection(42); c1.setName(QStringLiteral("42")); data.createCollection(c1); auto c2 = Akonadi::Collection(43); c2.setName(QStringLiteral("43")); c2.setParentCollection(Akonadi::Collection(42)); data.createCollection(c2); auto c3 = Akonadi::Collection(44); c3.setName(QStringLiteral("44")); c3.setParentCollection(Akonadi::Collection(43)); data.createCollection(c3); auto i1 = Akonadi::Item(42); i1.setPayloadFromData("42"); i1.setParentCollection(Akonadi::Collection(43)); data.createItem(i1); auto i2 = Akonadi::Item(43); i2.setPayloadFromData("43"); i2.setParentCollection(Akonadi::Collection(44)); data.createItem(i2); // WHEN data.removeCollection(c2); // THEN QCOMPARE(data.collections().size(), 1); QCOMPARE(data.collections().at(0), c1); QVERIFY(!data.collection(c2.id()).isValid()); QVERIFY(!data.collection(c3.id()).isValid()); QVERIFY(data.childCollections(c1.id()).isEmpty()); QVERIFY(data.childCollections(c2.id()).isEmpty()); QVERIFY(data.childCollections(c3.id()).isEmpty()); QVERIFY(data.items().isEmpty()); QVERIFY(!data.item(i1.id()).isValid()); QVERIFY(!data.item(i2.id()).isValid()); QVERIFY(data.childItems(c2.id()).isEmpty()); QVERIFY(data.childItems(c3.id()).isEmpty()); QCOMPARE(spy.size(), 2); QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c3); QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c2); }
void shouldCreateCollections() { // GIVEN auto data = Testlib::AkonadiFakeData(); QScopedPointer<Akonadi::MonitorInterface> monitor(data.createMonitor()); QSignalSpy spy(monitor.data(), &Akonadi::MonitorInterface::collectionAdded); auto c1 = Akonadi::Collection(42); c1.setName(QStringLiteral("42")); auto c2 = Akonadi::Collection(43); c2.setName(QStringLiteral("43")); const auto colSet = QSet<Akonadi::Collection>() << c1 << c2; // WHEN data.createCollection(c1); data.createCollection(c2); // THEN QCOMPARE(data.collections().toList().toSet(), colSet); QCOMPARE(data.collection(c1.id()), c1); QCOMPARE(data.collection(c2.id()), c2); QCOMPARE(spy.size(), 2); QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c1); QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c2); }
void shouldNotLooseParentCollectionOnModifyCollection() { // GIVEN auto data = Testlib::AkonadiFakeData(); auto root = Akonadi::Collection(42); root.setName(QStringLiteral("root")); data.createCollection(root); auto c1 = Akonadi::Collection(43); c1.setName(QStringLiteral("43")); c1.setParentCollection(Akonadi::Collection(root.id())); data.createCollection(c1); auto c2 = Akonadi::Collection(c1.id()); c2.setName(QStringLiteral("43-bis")); // WHEN data.modifyCollection(c2); // THEN QCOMPARE(data.collections().size(), 2); QCOMPARE(data.collection(c1.id()), c2); QCOMPARE(data.collection(c1.id()).parentCollection().id(), root.id()); }
void balazs::TransverseCurveDatabase::generateTransverseCurves(int maxdepth, int maxInvolvedSingularities, const bool& quit, std::mutex& mutex) { SepSegmentCollectionList collections(m_sepSegmentDatabase, maxdepth, maxInvolvedSingularities, m_sscMode); for (const SepSegmentCollection& sepSegmentCollection : collections) { std::array<bool, 2> isWrapsAroundEndsGood = whichTransverseCurvesExist(sepSegmentCollection); for (short wrapsAroundEnds = 0; wrapsAroundEnds < 2; wrapsAroundEnds++ ) { if (isWrapsAroundEndsGood[wrapsAroundEnds]) { try{ m_transverseCurves.emplace(sepSegmentCollection, wrapsAroundEnds, m_sepSegmentDatabase); } catch(const std::exception&) { // if touching segments cannot be generated for the transverse curve, i.e. it cannot be constructed // we silently ignore it. } } } std::lock_guard<std::mutex> lk(mutex); if(quit){ break; } } }
void SqlBackendTest::allTests() { QString dbname = "test"; Classes::setup(); // Drop the database if already exists KProcess *proc = new KProcess; *proc << "dropdb"; *proc << dbname; proc->start(); proc->wait(); delete proc; // Create the database proc = new KProcess; *proc << "createdb"; *proc << dbname; CHECK( proc->start(), true ); proc->wait(); if ( ! proc->normalExit() || proc->exitStatus() != 0 ) { CHECK( true, false ); delete proc; return; } delete proc; QSqlDatabase *db = QSqlDatabase::addDatabase( "QPSQL7" ); db->setDatabaseName( dbname ); db->setUserName( "albert" ); db->setPassword( "" ); db->setHostName( "localhost" ); if ( ! db->open() ) { kdDebug() << "Failed to open database: " << db->lastError().text() << endl; return; } DbBackendIface *backend = new SqlDbBackend( db ); m_manager = new Manager( backend ); m_manager->createSchema(); transactions(); collections(); cache(); freeing(); testRelations(); delete m_manager; }
void RenderModel:: frame_begin () { auto tfrmap = tfr_map_.write (); tfrmap->gc(); auto collections = tfrmap->collections(); tfrmap.unlock (); for ( auto c : collections ) { // Release blocks that weren't used since last next_frame // Update blocks with textures from updateconsumer c->frame_begin(); } }
void AsyncWorker::handleCollectionSaveRequest(QOrganizerCollectionSaveRequest *req) { QOrganizerManager::Error tempError = QOrganizerManager::NoError; QOrganizerManager::Error operationError = QOrganizerManager::NoError; QMap<int, QOrganizerManager::Error> errorMap; QList<QOrganizerCollection> collections(req->collections()); QList<QOrganizerCollection> retn; int collectionsCount = collections.count(); for (int i = 0; i < collectionsCount; ++i) { QOrganizerCollection collection(collections.at(i)); m_manager->m_engine->saveCollection(&collection, &tempError); retn << collection; if (tempError != QOrganizerManager::NoError) { errorMap.insert(i, tempError); operationError = tempError; } } QOrganizerManagerEngine::updateCollectionSaveRequest(req, retn, operationError, errorMap, QOrganizerAbstractRequest::FinishedState); }
void shouldModifyCollections() { // GIVEN auto data = Testlib::AkonadiFakeData(); QScopedPointer<Akonadi::MonitorInterface> monitor(data.createMonitor()); QSignalSpy spy(monitor.data(), &Akonadi::MonitorInterface::collectionChanged); auto c1 = Akonadi::Collection(42); c1.setName(QStringLiteral("42")); data.createCollection(c1); auto c2 = Akonadi::Collection(c1.id()); c2.setName(QStringLiteral("42-bis")); // WHEN data.modifyCollection(c2); // THEN QCOMPARE(data.collections().size(), 1); QCOMPARE(data.collection(c1.id()), c2); QCOMPARE(spy.size(), 1); QCOMPARE(spy.takeFirst().at(0).value<Akonadi::Collection>(), c2); }
void RenderModel:: resetBlockCaches() { for (auto c : collections()) Heightmap::Collection::cache (c)->clear(); }