void Test_KCompletion::insertionOrder() { KCompletion completion; completion.setSoundsEnabled(false); QSignalSpy spy1(&completion, SIGNAL(match(QString))); QSignalSpy spy3(&completion, SIGNAL(multipleMatches())); completion.setOrder(KCompletion::Insertion); QVERIFY(completion.order() == KCompletion::Insertion); completion.setItems(strings); QVERIFY(completion.items().count() == strings.count()); completion.setCompletionMode(KCompletion::CompletionShell); QCOMPARE(completion.makeCompletion(QStringLiteral("ca")), QStringLiteral("carp")); QVERIFY(spy1.count() == 1); QVERIFY(spy1.takeFirst().at(0).toString() == QStringLiteral("carp")); QVERIFY(spy3.count() == 1); spy3.takeFirst(); QSignalSpy spy2(&completion, SIGNAL(matches(QStringList))); completion.makeCompletion(QStringLiteral("ca")); QCOMPARE(spy2.count(), 1); QVERIFY(spy3.count() == 0); // shouldn't be signaled on 2nd call QStringList matches = spy2.takeFirst().at(0).toStringList(); QVERIFY(matches.count() == 2); QCOMPARE(matches[0], carpet); QCOMPARE(matches[1], carp); completion.setCompletionMode(KCompletion::CompletionAuto); QCOMPARE(completion.makeCompletion(QStringLiteral("ca")), carpet); QVERIFY(spy1.count() == 1); QVERIFY(spy1.takeFirst().at(0).toString() == carpet); }
void HandleSignalRouterUnitTests::routingSignals() { // Setup: // Get the object to be tested handleSignalRouter = HandleSignalRouter::instance(); // Start spying the mock handles QSignalSpy spy1(mockHandleOne, SIGNAL(onValueChangedCalled(QString))); QSignalSpy spy2(mockHandleTwo, SIGNAL(onValueChangedCalled(QString))); QSignalSpy spy3(mockHandleThree, SIGNAL(onValueChangedCalled(QString))); QSignalSpy sspy1(mockHandleOne, SIGNAL(setSubscribeFinishedCalled(Provider *, QString))); QSignalSpy sspy2(mockHandleTwo, SIGNAL(setSubscribeFinishedCalled(Provider *, QString))); QSignalSpy sspy3(mockHandleThree, SIGNAL(setSubscribeFinishedCalled(Provider *, QString))); // Test: // Send a signal to the HandleSignalRouter handleSignalRouter->onValueChanged("Property.One"); handleSignalRouter->onSubscribeFinished(0, "Property.One"); // Expected results: // The mockHandleOne.setValue was called QCOMPARE(spy1.count(), 1); QList<QVariant> parameters = spy1.takeFirst(); QCOMPARE(parameters.size(), 1); QCOMPARE(parameters.at(0), QVariant("Property.One")); QCOMPARE(sspy1.count(), 1); parameters = sspy1.takeFirst(); QCOMPARE(parameters.size(), 2); QCOMPARE(parameters.at(1), QVariant("Property.One")); // The setValue of other mock handles were not called QCOMPARE(spy2.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(sspy2.count(), 0); QCOMPARE(sspy3.count(), 0); // Test: // Send a signal to the HandleSignalRouter handleSignalRouter->onValueChanged("Property.Two"); handleSignalRouter->onSubscribeFinished(0, "Property.Two"); // Expected results: // The mockHandleTwo.setValue was called QCOMPARE(spy2.count(), 1); QCOMPARE(sspy2.count(), 1); parameters = spy2.takeFirst(); QCOMPARE(parameters.size(), 1); QCOMPARE(parameters.at(0), QVariant("Property.Two")); parameters = sspy2.takeFirst(); QCOMPARE(parameters.size(), 2); QCOMPARE(parameters.at(1), QVariant("Property.Two")); // The setValue of other mock handles were not called QCOMPARE(spy1.count(), 0); QCOMPARE(spy3.count(), 0); QCOMPARE(sspy1.count(), 0); QCOMPARE(sspy3.count(), 0); }
/*! Wait for multiple (3) signals */ void UnitTestCxeTestUtils::testWaitForSignal3() { QTimer t3; QSignalSpy spy3(&t3, SIGNAL(timeout())); t3.setSingleShot(false); t3.start(100); QVERIFY(CxeTestUtils::waitForSignal(spy3, 500, 3)); QCOMPARE(spy3.count(), 3); }
//----------------------------------------------------------------------------- int ctkButtonGroupEventTranslatorPlayerTest1(int argc, char * argv [] ) { QApplication app(argc, argv); QString xmlDirectory = CTK_SOURCE_DIR "/Libs/Widgets/Testing/Cpp/"; // ------------------------ ctkEventTranslatorPlayerWidget etpWidget; pqTestUtility* testUtility = new pqTestUtility(&etpWidget); etpWidget.setTestUtility(testUtility); // Test case 1 QWidget widget(0); QVBoxLayout* layout = new QVBoxLayout(&widget); QPushButton* button1 = new QPushButton("button 1", &widget); QPushButton* button2 = new QPushButton("button 2", &widget); QPushButton* button3 = new QPushButton("button 3", &widget); layout->addWidget(button1); layout->addWidget(button2); layout->addWidget(button3); widget.setLayout(layout); button1->setCheckable(true); button2->setCheckable(true); button3->setCheckable(false); ctkButtonGroup* buttonGroup = new ctkButtonGroup(&widget); buttonGroup->addButton(button1); buttonGroup->addButton(button2); buttonGroup->addButton(button3); QSignalSpy spy1(button1, SIGNAL(clicked())); QSignalSpy spy2(button2, SIGNAL(clicked())); QSignalSpy spy3(button3, SIGNAL(clicked())); Spy1 = &spy1; Spy2 = &spy2; Spy3 = &spy3; etpWidget.addTestCase(&widget, xmlDirectory + "ctkButtonGroupEventTranslatorPlayerTest1.xml", &checkFinalWidgetState); // ------------------------ if (argc < 2 || QString(argv[1]) != "-I") { QTimer::singleShot(0, &etpWidget, SLOT(play())); } etpWidget.show(); return app.exec(); }
void ChatTests::testInvite() { QVERIFY(chat); QSignalSpy spy2(chat.data(), SIGNAL(inviteCompleted(bool, QString))); QVERIFY(spy2.isValid()); QVERIFY(spy2.isEmpty()); QSignalSpy spy3(session2.data(), SIGNAL(invitationReceived(QSharedPointer<Chat>))); QVERIFY(spy3.isValid()); QVERIFY(spy3.isEmpty()); QSignalSpy spy4(chat.data(), SIGNAL(userJoined(QSharedPointer<const User>))); QVERIFY(spy4.isValid()); QVERIFY(spy4.isEmpty()); QSharedPointer<const User> u(new User(TEMP_SESSION_USER2, WORKING_DIR "public.pem")); chat->invite(u); waitForResult(spy2); QCOMPARE(spy2.count(), 1); QList<QVariant> arguments2 = spy2.takeFirst(); QVERIFY2(arguments2.at(0) == true, arguments2.at(1).toString().toStdString().c_str()); waitForResult(spy3); QCOMPARE(spy3.count(), 1); QList<QVariant> arguments3 = spy3.takeFirst(); QSharedPointer<Chat> chat2 = arguments3.at(0).value<QSharedPointer<Chat> >(); waitForResult(spy4); QCOMPARE(spy4.count(), 1); QList<QVariant> arguments4 = spy4.takeFirst(); QSharedPointer<const User> u2 = arguments4.at(0).value<QSharedPointer<const User> >(); QCOMPARE(u2->getName(), QString(TEMP_SESSION_USER2)); QList<QSharedPointer<const User> > chat1Usr = chat->getUserList(); QList<QSharedPointer<const User> > chat2Usr = chat2->getUserList(); QCOMPARE(chat1Usr.size(), 2); QCOMPARE(chat2Usr.size(), 2); QCOMPARE(chat1Usr[0]->getName(), QString(TEMP_SESSION_USER2)); QCOMPARE(chat1Usr[1]->getName(), QString(TEMP_SESSION_USER3)); QCOMPARE(chat2Usr[0]->getName(), QString(TEMP_SESSION_USER2)); QCOMPARE(chat2Usr[1]->getName(), QString(TEMP_SESSION_USER3)); }
//----------------------------------------------------------------------------- int ctkMenuButtonEventTranslatorPlayerTest1(int argc, char * argv [] ) { QApplication app(argc, argv); QString xmlDirectory = CTK_SOURCE_DIR "/Libs/Widgets/Testing/Cpp/"; // ------------------------ ctkEventTranslatorPlayerWidget etpWidget; pqTestUtility* testUtility = new pqTestUtility(&etpWidget); etpWidget.setTestUtility(testUtility); // Test case 1 QWidget* widget = new QWidget(0); ctkMenuButton* menuButton = new ctkMenuButton("ctkMenuButton", widget); QMenu* menu = new QMenu("menu", menuButton); QAction* action1 = new QAction("extra choice 1", menu); QAction* action2 = new QAction("extra choice 2", menu); QAction* action3 = new QAction("extra choice 3", menu); menu->addAction(action1); menu->addAction(action2); menu->addAction(action3); QSignalSpy spy1(action1, SIGNAL(triggered())); QSignalSpy spy2(action2, SIGNAL(triggered())); QSignalSpy spy3(action3, SIGNAL(triggered())); Spy1 = &spy1; Spy2 = &spy2; Spy3 = &spy3; menuButton->setMenu(menu); etpWidget.addTestCase(widget, xmlDirectory + "ctkMenuButtonEventTranslatorPlayerTest1.xml", &checkFinalWidgetState); // ------------------------ if (!app.arguments().contains("-I")) { QTimer::singleShot(0, &etpWidget, SLOT(play())); } etpWidget.show(); return app.exec(); }
void TestQPrefCloudStorage::test_signals() { QSignalSpy spy1(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_base_urlChanged); QSignalSpy spy2(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_storage_emailChanged); QSignalSpy spy3(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_storage_email_encodedChanged); QSignalSpy spy4(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_storage_passwordChanged); QSignalSpy spy5(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_storage_pinChanged); QSignalSpy spy6(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_timeoutChanged); QSignalSpy spy7(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_verification_statusChanged); QSignalSpy spy9(qPrefCloudStorage::instance(), &qPrefCloudStorage::save_password_localChanged); QSignalSpy spy10(qPrefCloudStorage::instance(), &qPrefCloudStorage::cloud_auto_syncChanged); qPrefCloudStorage::set_cloud_base_url("signal url"); qPrefCloudStorage::set_cloud_storage_email("signal myEmail"); qPrefCloudStorage::set_cloud_storage_email_encoded("signal encodedMyEMail"); qPrefCloudStorage::set_cloud_storage_password("signal more secret"); qPrefCloudStorage::set_cloud_storage_pin("signal a pin"); qPrefCloudStorage::set_cloud_timeout(11); qPrefCloudStorage::set_cloud_verification_status(qPrefCloudStorage::CS_VERIFIED); qPrefCloudStorage::set_save_password_local(true); qPrefCloudStorage::set_cloud_auto_sync(true); QCOMPARE(spy1.count(), 1); QCOMPARE(spy2.count(), 1); QCOMPARE(spy3.count(), 1); QCOMPARE(spy4.count(), 1); QCOMPARE(spy5.count(), 1); QCOMPARE(spy6.count(), 1); QCOMPARE(spy7.count(), 1); QCOMPARE(spy9.count(), 1); QCOMPARE(spy10.count(), 1); QVERIFY(spy1.takeFirst().at(0).toString() == "signal url"); QVERIFY(spy2.takeFirst().at(0).toString() == "signal myEmail"); QVERIFY(spy3.takeFirst().at(0).toString() == "signal encodedMyEMail"); QVERIFY(spy4.takeFirst().at(0).toString() == "signal more secret"); QVERIFY(spy5.takeFirst().at(0).toString() == "signal a pin"); QVERIFY(spy6.takeFirst().at(0).toInt() == 11); QVERIFY(spy7.takeFirst().at(0).toInt() == qPrefCloudStorage::CS_VERIFIED); QVERIFY(spy9.takeFirst().at(0).toBool() == true); QVERIFY(spy10.takeFirst().at(0).toBool() == true); }
void TestQPrefGeocoding::test_signals() { QSignalSpy spy1(qPrefGeocoding::instance(), &qPrefGeocoding::first_taxonomy_categoryChanged); QSignalSpy spy2(qPrefGeocoding::instance(), &qPrefGeocoding::second_taxonomy_categoryChanged); QSignalSpy spy3(qPrefGeocoding::instance(), &qPrefGeocoding::third_taxonomy_categoryChanged); prefs.geocoding.category[0] = TC_NONE; qPrefGeocoding::set_first_taxonomy_category(TC_COUNTRY); prefs.geocoding.category[0] = TC_NONE; qPrefGeocoding::set_second_taxonomy_category(TC_ADMIN_L1); prefs.geocoding.category[0] = TC_NONE; qPrefGeocoding::set_third_taxonomy_category(TC_ADMIN_L2); QCOMPARE(spy1.count(), 1); QCOMPARE(spy2.count(), 1); QCOMPARE(spy3.count(), 1); QVERIFY(spy1.takeFirst().at(0).toInt() == TC_COUNTRY); QVERIFY(spy2.takeFirst().at(0).toInt() == TC_ADMIN_L1); QVERIFY(spy3.takeFirst().at(0).toInt() == TC_ADMIN_L2); }
void Test_KCompletion::weightedOrder() { KCompletion completion; completion.setSoundsEnabled(false); QSignalSpy spy1(&completion, SIGNAL(match(QString))); QSignalSpy spy3(&completion, SIGNAL(multipleMatches())); completion.setOrder(KCompletion::Weighted); QVERIFY(completion.order() == KCompletion::Weighted); completion.setItems(wstrings); QVERIFY(completion.items().count() == 4); completion.setCompletionMode(KGlobalSettings::CompletionShell); QCOMPARE(completion.makeCompletion("ca"), QString("carp")); spy1.takeFirst(); // empty the list QVERIFY(spy3.count() == 1); spy3.takeFirst(); QSignalSpy spy2(&completion, SIGNAL(matches(QStringList))); completion.makeCompletion("ca"); QCOMPARE(spy2.count(), 1); QVERIFY(spy3.count() == 0); // shouldn't be signaled on 2nd call QStringList matches = spy2.takeFirst().at(0).toStringList(); QVERIFY(matches.count() == 2); QCOMPARE(matches[0], carpet); QCOMPARE(matches[1], carp); completion.setCompletionMode(KGlobalSettings::CompletionAuto); QCOMPARE(completion.makeCompletion("ca"), carpet); matches = completion.substringCompletion("ca"); QVERIFY(matches.count() == 3); QCOMPARE(matches[0], carpet); QCOMPARE(matches[1], coolcat); QCOMPARE(matches[2], carp); }
void TestQgsAttributeForm::testOKButtonStatus() { // make a temporary vector layer QString def = QStringLiteral( "Point?field=col0:integer" ); QgsVectorLayer* layer = new QgsVectorLayer( def, QStringLiteral( "test" ), QStringLiteral( "memory" ) ); // add a feature to the vector layer QgsFeature ft( layer->dataProvider()->fields(), 1 ); ft.setAttribute( QStringLiteral( "col0" ), 0 ); ft.setValid( true ); // set constraint layer->setConstraintExpression( 0, QString() ); // build a form for this feature QgsAttributeForm form( layer ); form.setFeature( ft ); QPushButton *okButton = form.mButtonBox->button( QDialogButtonBox::Ok ); // get wrapper QgsEditorWidgetWrapper *ww; ww = qobject_cast<QgsEditorWidgetWrapper*>( form.mWidgets[0] ); // testing stuff QSignalSpy spy1( &form, SIGNAL( attributeChanged( QString, QVariant ) ) ); QSignalSpy spy2( layer, SIGNAL( editingStarted() ) ); QSignalSpy spy3( layer, SIGNAL( editingStopped() ) ); // no constraint but layer not editable : OK button disabled QCOMPARE( layer->isEditable(), false ); QCOMPARE( okButton->isEnabled(), false ); // no constraint and editable layer : OK button enabled layer->startEditing(); QCOMPARE( spy2.count(), 1 ); QCOMPARE( layer->isEditable(), true ); QCOMPARE( okButton->isEnabled(), true ); // invalid constraint and editable layer : OK button disabled layer->setConstraintExpression( 0, QStringLiteral( "col0 = 0" ) ); QgsAttributeForm form2( layer ); form2.setFeature( ft ); ww = qobject_cast<QgsEditorWidgetWrapper*>( form2.mWidgets[0] ); okButton = form2.mButtonBox->button( QDialogButtonBox::Ok ); ww->setValue( 1 ); QCOMPARE( okButton->isEnabled(), false ); // valid constraint and editable layer : OK button enabled layer->setConstraintExpression( 0, QStringLiteral( "col0 = 2" ) ); QgsAttributeForm form3( layer ); form3.setFeature( ft ); ww = qobject_cast<QgsEditorWidgetWrapper*>( form3.mWidgets[0] ); okButton = form3.mButtonBox->button( QDialogButtonBox::Ok ); ww->setValue( 2 ); QCOMPARE( okButton->isEnabled(), true ); // valid constraint and not editable layer : OK button disabled layer->rollBack(); QCOMPARE( spy3.count(), 1 ); QCOMPARE( layer->isEditable(), false ); QCOMPARE( okButton->isEnabled(), false ); // set soft constraint layer->setFieldConstraint( 0, QgsFieldConstraints::ConstraintExpression, QgsFieldConstraints::ConstraintStrengthSoft ); QgsAttributeForm form4( layer ); form4.setFeature( ft ); ww = qobject_cast<QgsEditorWidgetWrapper*>( form4.mWidgets[0] ); okButton = form4.mButtonBox->button( QDialogButtonBox::Ok ); ww->setValue( 1 ); QVERIFY( !okButton->isEnabled() ); layer->startEditing(); // just a soft constraint, so OK should be enabled QVERIFY( okButton->isEnabled() ); layer->rollBack(); QVERIFY( !okButton->isEnabled() ); }
void TestQPrefTechnicalDetails::test_signals() { QSignalSpy spy1(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::calcalltissuesChanged); QSignalSpy spy2(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::calcceilingChanged); QSignalSpy spy3(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::calcceiling3mChanged); QSignalSpy spy4(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::calcndlttsChanged); QSignalSpy spy5(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::dcceilingChanged); QSignalSpy spy6(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::display_deco_modeChanged); QSignalSpy spy7(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::display_unused_tanksChanged); QSignalSpy spy8(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::eadChanged); QSignalSpy spy9(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::gfhighChanged); QSignalSpy spy10(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::gflowChanged); QSignalSpy spy11(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::gf_low_at_maxdepthChanged); QSignalSpy spy12(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::hrgraphChanged); QSignalSpy spy13(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::modChanged); QSignalSpy spy14(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::modpO2Changed); QSignalSpy spy15(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::percentagegraphChanged); QSignalSpy spy16(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::redceilingChanged); QSignalSpy spy17(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::rulergraphChanged); QSignalSpy spy18(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_average_depthChanged); QSignalSpy spy19(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_ccr_sensorsChanged); QSignalSpy spy20(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_ccr_setpointChanged); QSignalSpy spy21(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_icdChanged); QSignalSpy spy22(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_pictures_in_profileChanged); QSignalSpy spy23(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_sacChanged); QSignalSpy spy24(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::show_scr_ocpo2Changed); QSignalSpy spy25(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::tankbarChanged); QSignalSpy spy26(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::vpmb_conservatismChanged); QSignalSpy spy27(qPrefTechnicalDetails::instance(), &qPrefTechnicalDetails::zoomed_plotChanged); prefs.calcalltissues = true; qPrefTechnicalDetails::set_calcalltissues(false); prefs.calcceiling = true; qPrefTechnicalDetails::set_calcceiling(false); prefs.calcceiling3m = true; qPrefTechnicalDetails::set_calcceiling3m(false); prefs.calcndltts = true; qPrefTechnicalDetails::set_calcndltts(false); prefs.dcceiling = true; qPrefTechnicalDetails::set_dcceiling(false); qPrefTechnicalDetails::set_display_deco_mode(VPMB); prefs.display_unused_tanks = true; qPrefTechnicalDetails::set_display_unused_tanks(false); prefs.ead = true; qPrefTechnicalDetails::set_ead(false); qPrefTechnicalDetails::set_gfhigh(-29); qPrefTechnicalDetails::set_gflow(-24); prefs.gf_low_at_maxdepth = true; qPrefTechnicalDetails::set_gf_low_at_maxdepth(false); prefs.hrgraph = true; qPrefTechnicalDetails::set_hrgraph(false); prefs.mod = true; qPrefTechnicalDetails::set_mod(false); qPrefTechnicalDetails::set_modpO2(-1.12); prefs.percentagegraph = true; qPrefTechnicalDetails::set_percentagegraph(false); prefs.redceiling = true; qPrefTechnicalDetails::set_redceiling(false); prefs.rulergraph = true; qPrefTechnicalDetails::set_rulergraph(false); prefs.show_average_depth = true; qPrefTechnicalDetails::set_show_average_depth(false); prefs.show_ccr_sensors = true; qPrefTechnicalDetails::set_show_ccr_sensors(false); prefs.show_ccr_setpoint = true; qPrefTechnicalDetails::set_show_ccr_setpoint(false); prefs.show_icd = true; qPrefTechnicalDetails::set_show_icd(false); prefs.show_pictures_in_profile = true; qPrefTechnicalDetails::set_show_pictures_in_profile(false); prefs.show_sac = true; qPrefTechnicalDetails::set_show_sac(false); prefs.show_scr_ocpo2 = true; qPrefTechnicalDetails::set_show_scr_ocpo2(false); prefs.tankbar = true; qPrefTechnicalDetails::set_tankbar(false); qPrefTechnicalDetails::set_vpmb_conservatism(-64); prefs.zoomed_plot = true; qPrefTechnicalDetails::set_zoomed_plot(false); QCOMPARE(spy1.count(), 1); QCOMPARE(spy2.count(), 1); QCOMPARE(spy3.count(), 1); QCOMPARE(spy4.count(), 1); QCOMPARE(spy5.count(), 1); QCOMPARE(spy6.count(), 1); QCOMPARE(spy7.count(), 1); QCOMPARE(spy8.count(), 1); QCOMPARE(spy9.count(), 1); QCOMPARE(spy10.count(), 1); QCOMPARE(spy11.count(), 1); QCOMPARE(spy12.count(), 1); QCOMPARE(spy13.count(), 1); QCOMPARE(spy14.count(), 1); QCOMPARE(spy15.count(), 1); QCOMPARE(spy16.count(), 1); QCOMPARE(spy17.count(), 1); QCOMPARE(spy18.count(), 1); QCOMPARE(spy19.count(), 1); QCOMPARE(spy20.count(), 1); QCOMPARE(spy21.count(), 1); QCOMPARE(spy22.count(), 1); QCOMPARE(spy23.count(), 1); QCOMPARE(spy24.count(), 1); QCOMPARE(spy25.count(), 1); QCOMPARE(spy26.count(), 1); QCOMPARE(spy27.count(), 1); QVERIFY(spy1.takeFirst().at(0).toBool() == false); QVERIFY(spy2.takeFirst().at(0).toBool() == false); QVERIFY(spy3.takeFirst().at(0).toBool() == false); QVERIFY(spy4.takeFirst().at(0).toBool() == false); QVERIFY(spy5.takeFirst().at(0).toBool() == false); QVERIFY(spy6.takeFirst().at(0).toInt() == VPMB); QVERIFY(spy7.takeFirst().at(0).toBool() == false); QVERIFY(spy8.takeFirst().at(0).toBool() == false); QVERIFY(spy9.takeFirst().at(0).toInt() == -29); QVERIFY(spy10.takeFirst().at(0).toInt() == -24); QVERIFY(spy11.takeFirst().at(0).toBool() == false); QVERIFY(spy12.takeFirst().at(0).toBool() == false); QVERIFY(spy13.takeFirst().at(0).toBool() == false); QVERIFY(spy14.takeFirst().at(0).toDouble() == -1.12); QVERIFY(spy15.takeFirst().at(0).toBool() == false); QVERIFY(spy16.takeFirst().at(0).toBool() == false); QVERIFY(spy17.takeFirst().at(0).toBool() == false); QVERIFY(spy18.takeFirst().at(0).toBool() == false); QVERIFY(spy19.takeFirst().at(0).toBool() == false); QVERIFY(spy20.takeFirst().at(0).toBool() == false); QVERIFY(spy21.takeFirst().at(0).toBool() == false); QVERIFY(spy22.takeFirst().at(0).toBool() == false); QVERIFY(spy23.takeFirst().at(0).toBool() == false); QVERIFY(spy24.takeFirst().at(0).toBool() == false); QVERIFY(spy25.takeFirst().at(0).toBool() == false); QVERIFY(spy26.takeFirst().at(0).toInt() == -64); QVERIFY(spy27.takeFirst().at(0).toBool() == false); }
void TestQPrefDivePlanner::test_signals() { QSignalSpy spy1(qPrefDivePlanner::instance(), &qPrefDivePlanner::ascratelast6mChanged); QSignalSpy spy2(qPrefDivePlanner::instance(), &qPrefDivePlanner::ascratestopsChanged); QSignalSpy spy3(qPrefDivePlanner::instance(), &qPrefDivePlanner::ascrate50Changed); QSignalSpy spy4(qPrefDivePlanner::instance(), &qPrefDivePlanner::ascrate75Changed); QSignalSpy spy5(qPrefDivePlanner::instance(), &qPrefDivePlanner::bestmixendChanged); QSignalSpy spy6(qPrefDivePlanner::instance(), &qPrefDivePlanner::bottompo2Changed); QSignalSpy spy7(qPrefDivePlanner::instance(), &qPrefDivePlanner::bottomsacChanged); QSignalSpy spy8(qPrefDivePlanner::instance(), &qPrefDivePlanner::decopo2Changed); QSignalSpy spy9(qPrefDivePlanner::instance(), &qPrefDivePlanner::decosacChanged); QSignalSpy spy10(qPrefDivePlanner::instance(), &qPrefDivePlanner::descrateChanged); QSignalSpy spy11(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_durationChanged); QSignalSpy spy12(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_runtimeChanged); QSignalSpy spy13(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_transitionsChanged); QSignalSpy spy14(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_variationsChanged); QSignalSpy spy15(qPrefDivePlanner::instance(), &qPrefDivePlanner::doo2breaksChanged); QSignalSpy spy16(qPrefDivePlanner::instance(), &qPrefDivePlanner::drop_stone_modeChanged); QSignalSpy spy17(qPrefDivePlanner::instance(), &qPrefDivePlanner::last_stopChanged); QSignalSpy spy18(qPrefDivePlanner::instance(), &qPrefDivePlanner::min_switch_durationChanged); QSignalSpy spy19(qPrefDivePlanner::instance(), &qPrefDivePlanner::planner_deco_modeChanged); QSignalSpy spy20(qPrefDivePlanner::instance(), &qPrefDivePlanner::problemsolvingtimeChanged); QSignalSpy spy21(qPrefDivePlanner::instance(), &qPrefDivePlanner::reserve_gasChanged); QSignalSpy spy22(qPrefDivePlanner::instance(), &qPrefDivePlanner::sacfactorChanged); QSignalSpy spy23(qPrefDivePlanner::instance(), &qPrefDivePlanner::safetystopChanged); QSignalSpy spy24(qPrefDivePlanner::instance(), &qPrefDivePlanner::switch_at_req_stopChanged); QSignalSpy spy25(qPrefDivePlanner::instance(), &qPrefDivePlanner::verbatim_planChanged); qPrefDivePlanner::set_ascratelast6m(-20); qPrefDivePlanner::set_ascratestops(-21); qPrefDivePlanner::set_ascrate50(-22); qPrefDivePlanner::set_ascrate75(-23); qPrefDivePlanner::set_bestmixend(-21); qPrefDivePlanner::set_bottompo2(-24); qPrefDivePlanner::set_bottomsac(-25); qPrefDivePlanner::set_decopo2(-26); qPrefDivePlanner::set_decosac(-27); qPrefDivePlanner::set_descrate(-28); prefs.display_duration = true; qPrefDivePlanner::set_display_duration(false); prefs.display_runtime = true; qPrefDivePlanner::set_display_runtime(false); prefs.display_transitions = true; qPrefDivePlanner::set_display_transitions(false); prefs.display_variations = true; qPrefDivePlanner::set_display_variations(false); prefs.doo2breaks = true; qPrefDivePlanner::set_doo2breaks(false); prefs.drop_stone_mode = true; qPrefDivePlanner::set_drop_stone_mode(false); prefs.last_stop = true; qPrefDivePlanner::set_last_stop(false); qPrefDivePlanner::set_min_switch_duration(-29); qPrefDivePlanner::set_planner_deco_mode(VPMB); qPrefDivePlanner::set_problemsolvingtime(-30); qPrefDivePlanner::set_reserve_gas(-31); qPrefDivePlanner::set_sacfactor(-32); prefs.safetystop = true; qPrefDivePlanner::set_safetystop(false); prefs.switch_at_req_stop = true; qPrefDivePlanner::set_switch_at_req_stop(false); prefs.verbatim_plan = true; qPrefDivePlanner::set_verbatim_plan(false); QCOMPARE(spy1.count(), 1); QCOMPARE(spy2.count(), 1); QCOMPARE(spy3.count(), 1); QCOMPARE(spy4.count(), 1); QCOMPARE(spy5.count(), 1); QCOMPARE(spy6.count(), 1); QCOMPARE(spy7.count(), 1); QCOMPARE(spy8.count(), 1); QCOMPARE(spy9.count(), 1); QCOMPARE(spy10.count(), 1); QCOMPARE(spy11.count(), 1); QCOMPARE(spy12.count(), 1); QCOMPARE(spy13.count(), 1); QCOMPARE(spy14.count(), 1); QCOMPARE(spy15.count(), 1); QCOMPARE(spy16.count(), 1); QCOMPARE(spy17.count(), 1); QCOMPARE(spy18.count(), 1); QCOMPARE(spy19.count(), 1); QCOMPARE(spy20.count(), 1); QCOMPARE(spy21.count(), 1); QCOMPARE(spy22.count(), 1); QCOMPARE(spy23.count(), 1); QCOMPARE(spy24.count(), 1); QCOMPARE(spy25.count(), 1); QVERIFY(spy1.takeFirst().at(0).toInt() == -20); QVERIFY(spy2.takeFirst().at(0).toInt() == -21); QVERIFY(spy3.takeFirst().at(0).toInt() == -22); QVERIFY(spy4.takeFirst().at(0).toInt() == -23); QVERIFY(spy5.takeFirst().at(0).toInt() == -21); QVERIFY(spy6.takeFirst().at(0).toInt() == -24); QVERIFY(spy7.takeFirst().at(0).toInt() == -25); QVERIFY(spy8.takeFirst().at(0).toInt() == -26); QVERIFY(spy9.takeFirst().at(0).toInt() == -27); QVERIFY(spy10.takeFirst().at(0).toInt() == -28); QVERIFY(spy11.takeFirst().at(0).toBool() == false); QVERIFY(spy12.takeFirst().at(0).toBool() == false); QVERIFY(spy13.takeFirst().at(0).toBool() == false); QVERIFY(spy14.takeFirst().at(0).toBool() == false); QVERIFY(spy15.takeFirst().at(0).toBool() == false); QVERIFY(spy16.takeFirst().at(0).toBool() == false); QVERIFY(spy17.takeFirst().at(0).toBool() == false); QVERIFY(spy18.takeFirst().at(0).toInt() == -29); QVERIFY(spy19.takeFirst().at(0).toInt() == VPMB); QVERIFY(spy20.takeFirst().at(0).toInt() == -30); QVERIFY(spy21.takeFirst().at(0).toInt() == -31); QVERIFY(spy22.takeFirst().at(0).toInt() == -32); QVERIFY(spy23.takeFirst().at(0).toBool() == false); QVERIFY(spy24.takeFirst().at(0).toBool() == false); QVERIFY(spy25.takeFirst().at(0).toBool() == false); }