File indexing completed on 2024-06-09 04:22:14

0001 /*
0002  *  SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_queues_progress_updater_test.h"
0008 
0009 #include <simpletest.h>
0010 
0011 #include "kis_queues_progress_updater.h"
0012 #include <testutil.h>
0013 
0014 
0015 void KisQueuesProgressUpdaterTest::testSlowProgress()
0016 {
0017     TestUtil::TestProgressBar progressProxy;
0018     KisQueuesProgressUpdater updater(&progressProxy);
0019 
0020     updater.updateProgress(200, "test task");
0021     updater.updateProgress(100, "test task");
0022 
0023     QTest::qWait(100);
0024 
0025     QCOMPARE(progressProxy.min(), 0);
0026     QCOMPARE(progressProxy.max(), 0);
0027     QCOMPARE(progressProxy.value(), 0);
0028     QCOMPARE(progressProxy.format(), QString());
0029 
0030     QTest::qWait(500);
0031 
0032     QCOMPARE(progressProxy.min(), 0);
0033     QEXPECT_FAIL("", "The max should be 200 but is 0.", Continue);
0034     QCOMPARE(progressProxy.max(), 200);
0035     QEXPECT_FAIL("", "Progress should be 100 but is 0.", Continue);
0036     QCOMPARE(progressProxy.value(), 100);
0037     QEXPECT_FAIL("", "format() should be 'test task' but is empty.", Continue);
0038     QCOMPARE(progressProxy.format(), QString("test task"));
0039 
0040     updater.updateProgress(0, "test task");
0041 
0042     QTest::qWait(500);
0043 
0044     QCOMPARE(progressProxy.min(), 0);
0045     QEXPECT_FAIL("", "Max should be 200 but is 100.", Continue);
0046     QCOMPARE(progressProxy.max(), 200);
0047     QEXPECT_FAIL("", "Value should be 200 but is 100.", Continue);
0048     QCOMPARE(progressProxy.value(), 200);
0049     QEXPECT_FAIL("", "format() should be 'test task' but is '%p%'.", Continue);
0050     QCOMPARE(progressProxy.format(), QString("test task"));
0051 }
0052 
0053 void KisQueuesProgressUpdaterTest::testFastProgress()
0054 {
0055     /**
0056      * If the progress is too fast we don't even touch the bar
0057      */
0058 
0059     TestUtil::TestProgressBar progressProxy;
0060     KisQueuesProgressUpdater updater(&progressProxy);
0061 
0062     updater.updateProgress(200, "test task");
0063     updater.updateProgress(0, "test task");
0064 
0065     QTest::qWait(20);
0066 
0067     QCOMPARE(progressProxy.min(), 0);
0068     QEXPECT_FAIL("", "Max should be 0 but is 100.", Continue);
0069     QCOMPARE(progressProxy.max(), 0);
0070     QEXPECT_FAIL("", "Value should be 0 but is 100.", Continue);
0071     QCOMPARE(progressProxy.value(), 0);
0072     QEXPECT_FAIL("", "format() should be empty but is '%p%'.", Continue);
0073     QCOMPARE(progressProxy.format(), QString());
0074 
0075     updater.updateProgress(100, "test task");
0076     updater.updateProgress(0, "test task");
0077 
0078     QTest::qWait(20);
0079 
0080     QCOMPARE(progressProxy.min(), 0);
0081     QEXPECT_FAIL("", "Max should be 0 but is 100.", Continue);
0082     QCOMPARE(progressProxy.max(), 0);
0083     QEXPECT_FAIL("", "Value should be 0 but is 100.", Continue);
0084     QCOMPARE(progressProxy.value(), 0);
0085     QEXPECT_FAIL("", "format() should be empty but is '%p%'.", Continue);
0086     QCOMPARE(progressProxy.format(), QString());
0087 
0088     updater.updateProgress(0, "test task");
0089     updater.updateProgress(0, "test task");
0090 
0091     QTest::qWait(20);
0092 
0093     QCOMPARE(progressProxy.min(), 0);
0094     QEXPECT_FAIL("", "Max should be 0 but is 100.", Continue);
0095     QCOMPARE(progressProxy.max(), 0);
0096     QEXPECT_FAIL("", "Value should be 0 but is 100.", Continue);
0097     QCOMPARE(progressProxy.value(), 0);
0098     QEXPECT_FAIL("", "format() should be empty but is '%p%'.", Continue);
0099     QCOMPARE(progressProxy.format(), QString());
0100 
0101     QTest::qWait(500);
0102 
0103     QCOMPARE(progressProxy.min(), 0);
0104     QEXPECT_FAIL("", "Max should be 0 but is 100.", Continue);
0105     QCOMPARE(progressProxy.max(), 0);
0106     QEXPECT_FAIL("", "Value should be 0 but is 100.", Continue);
0107     QCOMPARE(progressProxy.value(), 0);
0108     QEXPECT_FAIL("", "format() should be empty but is '%p%'.", Continue);
0109     QCOMPARE(progressProxy.format(), QString());
0110 }
0111 
0112 SIMPLE_TEST_MAIN(KisQueuesProgressUpdaterTest)