RTLinearAllocatorTest.h revision 5460a1f25d9ddecb5c70667267d66d51af177a99
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
15namespace mcldtest
16{
17
18/** \class RTLinearAllocatorTest
19 *  \brief
20 *
21 *  \see RTLinearAllocator
22 */
23class RTLinearAllocatorTest : public ::testing::Test
24{
25public:
26	// Constructor can do set-up work for all test here.
27	RTLinearAllocatorTest();
28
29	// Destructor can do clean-up work that doesn't throw exceptions here.
30	virtual ~RTLinearAllocatorTest();
31
32	// SetUp() will be called immediately before each test.
33	virtual void SetUp();
34
35	// TearDown() will be called immediately after each test.
36	virtual void TearDown();
37
38public:
39	struct Data {
40		Data()
41		: one(1), two(2), three(3), four(4)
42		{ }
43
44		Data( unsigned int pOne, unsigned int pTwo, unsigned char pThree, unsigned char pFour)
45		{
46			one = pOne;
47			two = pTwo;
48			three = pThree;
49			four = pFour;
50		}
51
52		~Data()
53		{
54			one = -1;
55			two = -2;
56			three = -3;
57			four = -4;
58		}
59
60		unsigned int one;
61		unsigned int two;
62		unsigned char three;
63		unsigned char four;
64  };
65  enum {  CHUNK_SIZE = 32  };
66
67protected:
68	mcld::LinearAllocator<Data,0>* m_pTestee;
69};
70
71} // namespace of mcldtest
72
73#endif
74
75