//===- 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