00001 // Template for a test suite. 00002 00003 #include <config.h> 00004 #include <cppunit/extensions/HelperMacros.h> 00005 #include <cppunit/Asserter.h> 00006 #include "Asserts.h" 00007 #include "CCAENV1x90.h" 00008 #include "DesignByContract.h" 00009 00010 #ifdef HAVE_STD_NAMESPACE 00011 using namespace std; 00012 #endif 00013 00014 using namespace DesignByContract; 00015 00016 extern unsigned long ModuleBase; 00017 00018 00019 class AcqModeTests : public CppUnit::TestFixture { 00020 CPPUNIT_TEST_SUITE(AcqModeTests); 00021 CPPUNIT_TEST(TriggerMatchTest); 00022 CPPUNIT_TEST(ContStoreTest); 00023 CPPUNIT_TEST(LoadDefaults); 00024 CPPUNIT_TEST(SaveLoadUserConfig); 00025 CPPUNIT_TEST(AutoLoadTest); 00026 CPPUNIT_TEST_SUITE_END(); 00027 00028 00029 private: 00030 CCAENV1x90* m_pModule; 00031 00032 public: 00033 void setUp() { 00034 m_pModule = new CCAENV1x90(1, 0, ModuleBase); 00035 m_pModule->Reset(); 00036 00037 } 00038 void tearDown() { 00039 delete m_pModule; 00040 } 00041 protected: 00042 void TriggerMatchTest(); 00043 void ContStoreTest(); 00044 void LoadDefaults(); 00045 void SaveLoadUserConfig(); 00046 void AutoLoadTest(); 00047 }; 00048 00049 CPPUNIT_TEST_SUITE_REGISTRATION(AcqModeTests); 00050 00051 // Can module be put in trigger match mode? 00052 00053 void AcqModeTests::TriggerMatchTest() { 00054 m_pModule->TriggerMatchMode(); // Put into trigger match mode. 00055 // sleep(1); 00056 00057 ASSERT(m_pModule->isTriggerMatching()); 00058 } 00059 // Can module be put in continuous storage mode. 00060 // Flip flop since power up is cont storage mode. 00061 00062 void 00063 AcqModeTests::ContStoreTest() 00064 { 00065 m_pModule->TriggerMatchMode(); 00066 m_pModule->ContinuousStorageMode(); 00067 00068 ASSERT(!m_pModule->isTriggerMatching()); 00069 } 00070 00071 // Load defaults: 00072 00073 void 00074 AcqModeTests::LoadDefaults() 00075 { 00076 m_pModule->TriggerMatchMode(); 00077 00078 m_pModule->LoadDefaultConfig(); // -> Cont storage. 00079 00080 ASSERT(!m_pModule->isTriggerMatching()); 00081 00082 } 00083 00084 // Check save/load user config. 00085 00086 void 00087 AcqModeTests::SaveLoadUserConfig() 00088 { 00089 m_pModule->TriggerMatchMode(); 00090 m_pModule->SaveUserConfig(); 00091 00092 m_pModule->Reset(); 00093 ASSERT(!m_pModule->isTriggerMatching()); 00094 00095 m_pModule->LoadUserConfig(); 00096 ASSERT(m_pModule->isTriggerMatching()); 00097 } 00098 // Check auto load functions: 00099 void 00100 AcqModeTests::AutoLoadTest() 00101 { 00102 m_pModule->TriggerMatchMode(); 00103 m_pModule->SaveUserConfig(); 00104 m_pModule->AutoLoadUserConfig(); 00105 m_pModule->Reset(); // Should load user config. 00106 00107 ASSERT(m_pModule->isTriggerMatching()); 00108 00109 m_pModule->AutoLoadDefaultConfig(); 00110 m_pModule->Reset(); // Should load default config.. 00111 ASSERT(!m_pModule->isTriggerMatching()); 00112 } 00113