MCLinker upstream commit 0459e386785c.
Change-Id: Ide6790f5a354b7fcc03d812d6c8cf43b1e309ba3
diff --git a/unittests/BinTreeTest.cpp b/unittests/BinTreeTest.cpp
index fdf2bd1..5d2cd0a 100644
--- a/unittests/BinTreeTest.cpp
+++ b/unittests/BinTreeTest.cpp
@@ -8,8 +8,8 @@
//===----------------------------------------------------------------------===//
#include "BinTreeTest.h"
-#include "mcld/ADT/TypeTraits.h"
-#include "mcld/MC/InputTree.h"
+#include <mcld/ADT/TypeTraits.h>
+#include <mcld/InputTree.h>
#include <string>
using namespace mcld;
@@ -44,8 +44,8 @@
//
-/// General
-TEST_F( BinTreeTest,Two_non_null_tree_merge)
+/// General
+TEST_F( BinTreeTest,Two_non_null_tree_merge)
{
BinaryTree<int>::iterator pos = m_pTestee->root();
m_pTestee->join<TreeIteratorBase::Rightward>(pos,0);
@@ -63,16 +63,16 @@
mergeTree->join<TreeIteratorBase::Rightward>(pos2,1);
mergeTree->join<TreeIteratorBase::Leftward>(pos2,1);
- m_pTestee->merge<TreeIteratorBase::Rightward>(pos,*mergeTree);
+ m_pTestee->merge<TreeIteratorBase::Rightward>(pos,*mergeTree);
delete mergeTree;
EXPECT_TRUE(m_pTestee->size()==8);
}
/// ---- TEST - 2 ----
-TEST_F( BinTreeTest, A_null_tree_merge_a_non_null_tree)
-{
+TEST_F( BinTreeTest, A_null_tree_merge_a_non_null_tree)
+{
BinaryTree<int>::iterator pos = m_pTestee->root();
-
+
BinaryTree<int> *mergeTree = new BinaryTree<int>;
mergeTree->join<TreeIteratorBase::Rightward>(pos,0);
--pos;
@@ -82,14 +82,14 @@
mergeTree->join<TreeIteratorBase::Rightward>(pos,2);
mergeTree->join<TreeIteratorBase::Leftward>(pos,2);
- m_pTestee->merge<TreeIteratorBase::Rightward>(pos,*mergeTree);
+ m_pTestee->merge<TreeIteratorBase::Rightward>(pos,*mergeTree);
delete mergeTree;
EXPECT_TRUE(m_pTestee->size()==5);
}
-TEST_F( BinTreeTest, A_non_null_tree_merge_a_null_tree)
-{
+TEST_F( BinTreeTest, A_non_null_tree_merge_a_null_tree)
+{
BinaryTree<int>::iterator pos = m_pTestee->root();
m_pTestee->join<TreeIteratorBase::Rightward>(pos,0);
--pos;
@@ -98,24 +98,24 @@
--pos;
m_pTestee->join<TreeIteratorBase::Rightward>(pos,2);
m_pTestee->join<TreeIteratorBase::Leftward>(pos,2);
-
+
BinaryTree<int> *mergeTree = new BinaryTree<int>;
- BinaryTree<int>::iterator pos2 = mergeTree->root();
- mergeTree->merge<TreeIteratorBase::Rightward>(pos2,*m_pTestee);
+ BinaryTree<int>::iterator pos2 = mergeTree->root();
+ mergeTree->merge<TreeIteratorBase::Rightward>(pos2,*m_pTestee);
//delete m_pTestee;
EXPECT_TRUE(mergeTree->size()==5);
delete mergeTree;
}
-TEST_F( BinTreeTest, Two_null_tree_merge)
-{
+TEST_F( BinTreeTest, Two_null_tree_merge)
+{
BinaryTree<int>::iterator pos = m_pTestee->root();
-
- BinaryTree<int> *mergeTree = new BinaryTree<int>;
- BinaryTree<int>::iterator pos2 = mergeTree->root();
- mergeTree->merge<TreeIteratorBase::Rightward>(pos2,*m_pTestee);
+ BinaryTree<int> *mergeTree = new BinaryTree<int>;
+ BinaryTree<int>::iterator pos2 = mergeTree->root();
+
+ mergeTree->merge<TreeIteratorBase::Rightward>(pos2,*m_pTestee);
//delete m_pTestee;
EXPECT_TRUE(mergeTree->size()==0);
@@ -126,7 +126,7 @@
{
int a = 111;
BinaryTree<int>::iterator pos = m_pTestee->root();
-
+
m_pTestee->join<InputTree::Inclusive>(pos,a);
pos.move<InputTree::Inclusive>();
m_pTestee->join<InputTree::Positional>(pos,10);
@@ -134,9 +134,9 @@
pos.move<InputTree::Inclusive>();
m_pTestee->join<InputTree::Positional>(pos,8);
m_pTestee->join<InputTree::Inclusive>(pos,7);
-
- BinaryTree<int>::dfs_iterator dfs_it = m_pTestee->dfs_begin();
- BinaryTree<int>::dfs_iterator dfs_end = m_pTestee->dfs_end();
+
+ BinaryTree<int>::dfs_iterator dfs_it = m_pTestee->dfs_begin();
+ BinaryTree<int>::dfs_iterator dfs_end = m_pTestee->dfs_end();
ASSERT_EQ(111, **dfs_it);
++dfs_it;
@@ -149,8 +149,8 @@
ASSERT_EQ(10, **dfs_it);
++dfs_it;
ASSERT_TRUE( dfs_it == dfs_end);
- BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
- BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
+ BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
+ BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
}
TEST_F( BinTreeTest, DFSIterator_RightMostTree)
@@ -165,9 +165,9 @@
m_pTestee->join<InputTree::Positional>(pos,3);
pos.move<InputTree::Positional>();
m_pTestee->join<InputTree::Positional>(pos,4);
-
- BinaryTree<int>::dfs_iterator dfs_it = m_pTestee->dfs_begin();
- BinaryTree<int>::dfs_iterator dfs_end = m_pTestee->dfs_end();
+
+ BinaryTree<int>::dfs_iterator dfs_it = m_pTestee->dfs_begin();
+ BinaryTree<int>::dfs_iterator dfs_end = m_pTestee->dfs_end();
ASSERT_EQ(0, **dfs_it);
++dfs_it;
@@ -187,8 +187,8 @@
{
BinaryTree<int>::iterator pos = m_pTestee->root();
m_pTestee->join<InputTree::Inclusive>(pos,0);
- BinaryTree<int>::dfs_iterator dfs_it = m_pTestee->dfs_begin();
- BinaryTree<int>::dfs_iterator dfs_end = m_pTestee->dfs_end();
+ BinaryTree<int>::dfs_iterator dfs_it = m_pTestee->dfs_begin();
+ BinaryTree<int>::dfs_iterator dfs_end = m_pTestee->dfs_end();
int counter = 0;
while( dfs_it != dfs_end ) {
++counter;
@@ -201,7 +201,7 @@
{
int a = 111;
BinaryTree<int>::iterator pos = m_pTestee->root();
-
+
m_pTestee->join<InputTree::Inclusive>(pos,a);
pos.move<InputTree::Inclusive>();
m_pTestee->join<InputTree::Positional>(pos,10);
@@ -209,9 +209,9 @@
pos.move<InputTree::Inclusive>();
m_pTestee->join<InputTree::Positional>(pos,8);
m_pTestee->join<InputTree::Inclusive>(pos,7);
-
- BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
- BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
+
+ BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
+ BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
ASSERT_EQ(111, **bfs_it);
++bfs_it;
@@ -224,8 +224,8 @@
ASSERT_EQ(7, **bfs_it);
++bfs_it;
ASSERT_TRUE(bfs_it == bfs_end);
- bfs_it = m_pTestee->bfs_begin();
- bfs_end = m_pTestee->bfs_end();
+ bfs_it = m_pTestee->bfs_begin();
+ bfs_end = m_pTestee->bfs_end();
}
TEST_F( BinTreeTest, BFSIterator_RightMostTree)
@@ -240,9 +240,9 @@
m_pTestee->join<InputTree::Positional>(pos,3);
pos.move<InputTree::Positional>();
m_pTestee->join<InputTree::Positional>(pos,4);
-
- BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
- BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
+
+ BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
+ BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
ASSERT_EQ(0, **bfs_it);
++bfs_it;
@@ -262,8 +262,8 @@
{
BinaryTree<int>::iterator pos = m_pTestee->root();
m_pTestee->join<InputTree::Inclusive>(pos,0);
- BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
- BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
+ BinaryTree<int>::bfs_iterator bfs_it = m_pTestee->bfs_begin();
+ BinaryTree<int>::bfs_iterator bfs_end = m_pTestee->bfs_end();
int counter = 0;
while( bfs_it != bfs_end ) {
++counter;
@@ -272,4 +272,40 @@
ASSERT_EQ(1, counter);
}
+TEST_F( BinTreeTest, TreeIterator)
+{
+ BinaryTree<int>::iterator pos = m_pTestee->root();
+ m_pTestee->join<InputTree::Inclusive>(pos,0);
+ pos.move<InputTree::Inclusive>();
+ m_pTestee->join<InputTree::Positional>(pos,1);
+ pos.move<InputTree::Positional>();
+ m_pTestee->join<InputTree::Inclusive>(pos,2);
+ m_pTestee->join<InputTree::Positional>(pos,5);
+ pos.move<InputTree::Inclusive>();
+ m_pTestee->join<InputTree::Positional>(pos,3);
+ pos.move<InputTree::Positional>();
+ m_pTestee->join<InputTree::Positional>(pos,4);
+
+ BinaryTree<int>::iterator it = m_pTestee->begin();
+ BinaryTree<int>::iterator end = m_pTestee->end();
+
+ ASSERT_EQ(0, **it);
+ ++it;
+ ASSERT_EQ(1, **it);
+ --it;
+ ASSERT_EQ(2, **it);
+ ++it;
+ ASSERT_EQ(3, **it);
+ ++it;
+ ASSERT_EQ(4, **it);
+ ++it;
+ ASSERT_TRUE(it == end);
+
+ it = m_pTestee->begin();
+ ++it;
+ ++it;
+ ASSERT_EQ(5, **it);
+ ++it;
+ ASSERT_TRUE(it == end);
+}