1//===- UniqueGCFactoryBaseTest.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 UNIQUE_GCFACTORYBASE_TEST_H
10#define UNIQUE_GCFACTORYBASE_TEST_H
11
12#include <mcld/Support/UniqueGCFactory.h>
13#include <mcld/MC/MCLDInfo.h>
14#include <mcld/LD/DiagnosticPrinter.h>
15#include <mcld/LD/DiagnosticLineInfo.h>
16#include <gtest.h>
17
18namespace mcldtest
19{
20
21/** \class UniqueGCFactoryBaseTest
22 *  - check the unique of key.
23 *  - make sure the key associates with the same storage of value.
24 *  - check if all functions in the GCFactoryBase are available.
25 */
26class UniqueGCFactoryBaseTest : public ::testing::Test
27{
28public:
29	// Constructor can do set-up work for all test here.
30	UniqueGCFactoryBaseTest();
31
32	// Destructor can do clean-up work that doesn't throw exceptions here.
33	virtual ~UniqueGCFactoryBaseTest();
34
35	// SetUp() will be called immediately before each test.
36	virtual void SetUp();
37
38	// TearDown() will be called immediately after each test.
39	virtual void TearDown();
40
41private:
42	mcld::MCLDInfo* m_pLDInfo;
43	mcld::DiagnosticLineInfo* m_pLineInfo;
44	mcld::DiagnosticPrinter* m_pPrinter;
45};
46
47} // namespace of mcldtest
48
49#endif
50
51