Home | History | Annotate | Download | only in unittests
      1 //===- RTLinearAllocatorTest.h --------------------------------------------===//
      2 //
      3 //                     The MCLinker Project
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 #ifndef RTLINEARALLOCATOR_TEST_H
     10 #define RTLINEARALLOCATOR_TEST_H
     11 
     12 #include <gtest.h>
     13 #include "mcld/Support/Allocators.h"
     14 
     15 namespace mcldtest {
     16 
     17 /** \class RTLinearAllocatorTest
     18  *  \brief
     19  *
     20  *  \see RTLinearAllocator
     21  */
     22 class RTLinearAllocatorTest : public ::testing::Test {
     23  public:
     24   // Constructor can do set-up work for all test here.
     25   RTLinearAllocatorTest();
     26 
     27   // Destructor can do clean-up work that doesn't throw exceptions here.
     28   virtual ~RTLinearAllocatorTest();
     29 
     30   // SetUp() will be called immediately before each test.
     31   virtual void SetUp();
     32 
     33   // TearDown() will be called immediately after each test.
     34   virtual void TearDown();
     35 
     36  public:
     37   struct Data {
     38     Data() : one(1), two(2), three(3), four(4) {}
     39 
     40     Data(unsigned int pOne,
     41          unsigned int pTwo,
     42          unsigned char pThree,
     43          unsigned char pFour) {
     44       one = pOne;
     45       two = pTwo;
     46       three = pThree;
     47       four = pFour;
     48     }
     49 
     50     ~Data() {
     51       one = -1;
     52       two = -2;
     53       three = -3;
     54       four = -4;
     55     }
     56 
     57     unsigned int one;
     58     unsigned int two;
     59     unsigned char three;
     60     unsigned char four;
     61   };
     62   enum { CHUNK_SIZE = 32 };
     63 
     64  protected:
     65   mcld::LinearAllocator<Data, 0>* m_pTestee;
     66 };
     67 
     68 }  // namespace of mcldtest
     69 
     70 #endif
     71