1x90TriggerTimeTagTests.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 
00009 #ifdef HAVE_STD_NAMESPACE
00010 using namespace std;
00011 #endif
00012 
00013 
00014 extern long ModuleBase;
00015 
00016 class TriggerTimeTagTests : public CppUnit::TestFixture {
00017   CPPUNIT_TEST_SUITE(TriggerTimeTagTests);
00018   CPPUNIT_TEST(Enable);
00019   CPPUNIT_TEST(Disable);
00020   CPPUNIT_TEST_SUITE_END();
00021 
00022 
00023 private:
00024   CCAENV1x90* m_pModule;
00025 
00026 public:
00027   // Construct a module in powered up condition:
00028 
00029   void setUp() {
00030     m_pModule = new CCAENV1x90(1, 0, ModuleBase);
00031     m_pModule->Reset();
00032   }
00033   // Delete the module to prevent resource leaks.
00034 
00035   void tearDown() {
00036     delete m_pModule;
00037   }
00038 protected:
00039   void Enable();
00040   void Disable();
00041 };
00042 
00043 CPPUNIT_TEST_SUITE_REGISTRATION(TriggerTimeTagTests);
00044 
00045 
00046 // After enabling 
00047 // The trigger time tag enable bit should be set in the control register.
00048 
00049 void TriggerTimeTagTests::Enable() {
00050   m_pModule->EnableTriggerTagTime();
00051   unsigned short cr = m_pModule->ReadCR();
00052   ASSERT((cr & 0x200) != 0);
00053 }
00054 
00055 
00056 // Should be able to turn off trigger time tag.
00057 
00058 void
00059 TriggerTimeTagTests::Disable()
00060 {
00061   m_pModule->DisableTriggerTagTime();
00062   unsigned short cr = m_pModule->ReadCR();
00063   ASSERT((cr & 0x200) == 0);
00064 
00065 }

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