| //===- LinearAllocatorTest.h ----------------------------------------------===// |
| // |
| // The MCLinker Project |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| #ifndef LINEAR_ALLOCATOR_TEST_H |
| #define LINEAR_ALLOCATOR_TEST_H |
| |
| #include <gtest.h> |
| #include "mcld/Support/Allocators.h" |
| |
| namespace mcldtest |
| { |
| |
| /** \class LinearAllocatorTest |
| * \brief The testcase for LinearAllocator |
| * |
| * \see LinearAllocator |
| */ |
| class LinearAllocatorTest : public ::testing::Test |
| { |
| public: |
| struct Data { |
| Data() |
| : one(1), two(2), three(3), four(4) |
| { } |
| |
| Data( unsigned int pOne, unsigned int pTwo, unsigned char pThree, unsigned char pFour) |
| { |
| one = pOne; |
| two = pTwo; |
| three = pThree; |
| four = pFour; |
| } |
| |
| ~Data() |
| { |
| one = -1; |
| two = -2; |
| three = -3; |
| four = -4; |
| } |
| |
| unsigned int one; |
| unsigned int two; |
| unsigned char three; |
| unsigned char four; |
| }; |
| public: |
| // Constructor can do set-up work for all test here. |
| LinearAllocatorTest(); |
| |
| // Destructor can do clean-up work that doesn't throw exceptions here. |
| virtual ~LinearAllocatorTest(); |
| |
| // SetUp() will be called immediately before each test. |
| virtual void SetUp(); |
| |
| // TearDown() will be called immediately after each test. |
| virtual void TearDown(); |
| |
| protected: |
| enum TemplateArgsType { CHUNK_SIZE = 32 }; |
| typedef mcld::LinearAllocator<Data, CHUNK_SIZE> Alloc; |
| protected: |
| Alloc* m_pTestee; |
| }; |
| |
| } // namespace of mcldtest |
| |
| #endif |
| |