1x90AcqModeTests.cpp

Go to the documentation of this file.
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 

Generated on Wed Sep 17 08:38:09 2008 for NSCL Device support. by  doxygen 1.5.1