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)