00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef WPROGRESS_TEST_H
00026 #define WPROGRESS_TEST_H
00027
00028 #include <iostream>
00029
00030 #include <cxxtest/TestSuite.h>
00031
00032 #include "../WProgress.h"
00033
00034
00035
00036
00037 class WProgressTest : public CxxTest::TestSuite
00038 {
00039 public:
00040
00041
00042
00043
00044 void testInstantiation()
00045 {
00046 TS_ASSERT_THROWS_NOTHING( WProgress p( "Test", 1 ) );
00047 }
00048
00049
00050
00051
00052 void testDeterminedFlag()
00053 {
00054 WProgress p1( "Test1", 0 );
00055 WProgress p2( "Test2", 1 );
00056
00057 TS_ASSERT( !p1.isDetermined() );
00058 TS_ASSERT( p2.isDetermined() );
00059 }
00060
00061
00062
00063
00064 void testFinish()
00065 {
00066
00067 WProgress p1( "Test1", 1 );
00068 TS_ASSERT( p1.isPending() );
00069
00070
00071 p1.finish();
00072 TS_ASSERT( !p1.isPending() );
00073 }
00074
00075
00076
00077
00078 void testInternalState()
00079 {
00080 WProgress p( "Test", 11 );
00081
00082
00083 TS_ASSERT_THROWS_NOTHING( p.update() );
00084
00085
00086 TS_ASSERT( p.getProgress() == 0.0 );
00087
00088
00089 ++++++++++p;
00090 TS_ASSERT_THROWS_NOTHING( p.update() );
00091 TS_ASSERT( p.m_count == 5 );
00092 TS_ASSERT( p.getProgress() == 50.0 );
00093 ++++++++++p;
00094 TS_ASSERT_THROWS_NOTHING( p.update() );
00095 TS_ASSERT( p.m_count == 10 );
00096 TS_ASSERT( p.getProgress() == 100.0 );
00097
00098
00099 ++p;
00100 TS_ASSERT_THROWS_NOTHING( p.update() );
00101 TS_ASSERT( p.m_count == 10 );
00102 TS_ASSERT( p.getProgress() == 100.0 );
00103
00104
00105
00106 TS_ASSERT( p.isPending() );
00107 }
00108
00109
00110
00111
00112 void testInternalStateOfIndetermined()
00113 {
00114 WProgress p( "Test", 0 );
00115
00116
00117 TS_ASSERT_THROWS_NOTHING( p.update() );
00118
00119
00120 TS_ASSERT( p.getProgress() == 0.0 );
00121
00122 ++++++++++p;
00123 TS_ASSERT_THROWS_NOTHING( p.update() );
00124 TS_ASSERT( p.m_count == 0 );
00125 TS_ASSERT( p.getProgress() == 0.0 );
00126 }
00127 };
00128
00129 #endif // WPROGRESS_TEST_H
00130