//===- RTLinearAllocatorTest.h --------------------------------------------===//
//
// The MCLinker Project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef RTLINEARALLOCATOR_TEST_H
#define RTLINEARALLOCATOR_TEST_H
#include <gtest.h>
#include "mcld/Support/Allocators.h"
namespace mcldtest {
/** \class RTLinearAllocatorTest
* \brief
*
* \see RTLinearAllocator
*/
class RTLinearAllocatorTest : public ::testing::Test {
public:
// Constructor can do set-up work for all test here.
RTLinearAllocatorTest();
// Destructor can do clean-up work that doesn't throw exceptions here.
virtual ~RTLinearAllocatorTest();
// SetUp() will be called immediately before each test.
virtual void SetUp();
// TearDown() will be called immediately after each test.
virtual void TearDown();
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;
};
enum { CHUNK_SIZE = 32 };
protected:
mcld::LinearAllocator<Data, 0>* m_pTestee;
};
} // namespace of mcldtest
#endif