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 WSUBJECT_TEST_H
00026 #define WSUBJECT_TEST_H
00027
00028 #include <string>
00029 #include <cxxtest/TestSuite.h>
00030
00031 #include "../WSubject.h"
00032 #include "../WDataSet.h"
00033
00034
00035
00036
00037 class WSubjectTest : public CxxTest::TestSuite
00038 {
00039 public:
00040
00041
00042
00043 void testInstantiation( void )
00044 {
00045 TS_ASSERT_THROWS_NOTHING( WSubject() );
00046 }
00047
00048
00049
00050
00051 void testInstantiationWithName( void )
00052 {
00053 WPersonalInformation testInfo( WPersonalInformation::createDummyInformation() );
00054 TS_ASSERT_THROWS_NOTHING( WSubject( testInfo ) );
00055 }
00056
00057
00058
00059
00060 void TestConstructorWithInfo()
00061 {
00062 WPersonalInformation testInfo( WPersonalInformation::createDummyInformation() );
00063 WSubject dummySubject( testInfo );
00064 TS_ASSERT_EQUALS( testInfo, dummySubject.m_personalInfo );
00065 }
00066
00067
00068
00069
00070
00071 void testGetName()
00072 {
00073 WPersonalInformation testInfo( WPersonalInformation::createDummyInformation() );
00074 testInfo.setSubjectID( 1 );
00075 testInfo.setLastName( "Testname" );
00076 WSubject dummySubject( testInfo );
00077 TS_ASSERT_EQUALS( testInfo.getLastName()+", " , dummySubject.getName() );
00078 }
00079
00080
00081
00082
00083 void testAddGetDataSet()
00084 {
00085 boost::shared_ptr< WDataSet > dummyDataSet;
00086 dummyDataSet = boost::shared_ptr< WDataSet >( new WDataSet );
00087 std::string fileName = "Hallo";
00088 dummyDataSet->setFileName( fileName );
00089
00090 WSubject dummySubject;
00091 dummySubject.addDataSet( dummyDataSet );
00092 TS_ASSERT_EQUALS( 1, dummySubject.m_datasets.size() );
00093
00094
00095 WSubject::DatasetSharedContainerType::ReadTicket a = dummySubject.getDatasets();
00096 int count = 0;
00097 for( WSubject::DatasetConstIterator iter = a->get().begin(); iter != a->get().end(); ++iter )
00098 {
00099 count++;
00100 TS_ASSERT_EQUALS( fileName, ( *iter )->getFileName() );
00101 TS_ASSERT_EQUALS( dummyDataSet, ( *iter ) );
00102 }
00103
00104 TS_ASSERT( count == 1 );
00105 }
00106
00107
00108
00109
00110 void testGetNumberOfDataSet()
00111 {
00112 boost::shared_ptr< WDataSet > dummyDataSet;
00113 dummyDataSet = boost::shared_ptr< WDataSet >( new WDataSet );
00114 std::string fileName = "Hallo";
00115 dummyDataSet->setFileName( fileName );
00116
00117 WSubject dummySubject;
00118 TS_ASSERT_EQUALS( 0, dummySubject.m_datasets.size() );
00119 dummySubject.addDataSet( dummyDataSet );
00120 TS_ASSERT_EQUALS( 1, dummySubject.m_datasets.size() );
00121 dummySubject.addDataSet( dummyDataSet );
00122 TS_ASSERT_EQUALS( 2, dummySubject.m_datasets.size() );
00123 dummySubject.addDataSet( dummyDataSet );
00124 TS_ASSERT_EQUALS( 3, dummySubject.m_datasets.size() );
00125 }
00126 };
00127
00128 #endif // WSUBJECT_TEST_H