//===- BinTreeTest.h ------------------------------------------------------===//
//
//                     The MCLinker Project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef BINTREE_TEST_H
#define BINTREE_TEST_H

#include "mcld/ADT/BinTree.h"

#include <gtest.h>

namespace mcld
{
class BinTree;

} // namespace for mcld

namespace mcldtest
{

/** \class BinTreeTest
 *  \brief Make sure the interface of BinTree , such as insert , traversal , etc..
 *
 *  \see BinTree 
 */
class BinTreeTest : public ::testing::Test
{
public:
	// Constructor can do set-up work for all test here.
	BinTreeTest();

	// Destructor can do clean-up work that doesn't throw exceptions here.
	virtual ~BinTreeTest();

	// SetUp() will be called immediately before each test.
	virtual void SetUp();

	// TearDown() will be called immediately after each test.
	virtual void TearDown();

protected:
	mcld::BinaryTree<int>* m_pTestee;
};

} // namespace of mcldtest

#endif