Skip to content

Commit

Permalink
[TEST] Add iterator test for 'OctreePointCloudAdjacency'
Browse files Browse the repository at this point in the history
  • Loading branch information
frozar committed Jan 23, 2018
1 parent a8d10d2 commit d352b15
Showing 1 changed file with 56 additions and 16 deletions.
72 changes: 56 additions & 16 deletions test/octree/test_octree_iterator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -690,10 +690,50 @@ struct OctreePointCloudAdjacencyBeginEndIteratorsTest
OctreeT oct_a_, oct_b_;
};

TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, LeafBegin)
{
// Useful types
typedef typename OctreeT::LeafNodeIterator IteratorT;

// Default initialization
IteratorT it_a_1 = oct_a_.leaf_begin ();
IteratorT it_a_2 = oct_a_.leaf_begin ();
IteratorT it_b = oct_b_.leaf_begin ();

EXPECT_EQ (it_a_1, it_a_2);
EXPECT_NE (it_a_1, it_b);
EXPECT_NE (it_a_2, it_b);

// Different max depths are not the same iterators
IteratorT it_m = oct_a_.leaf_begin ();
IteratorT it_m_1 = oct_a_.leaf_begin (1);
IteratorT it_m_md = oct_a_.leaf_begin (oct_a_.getTreeDepth ());
IteratorT it_m_b_1 = oct_b_.leaf_begin (1);

EXPECT_NE (it_m_1, it_m_md);
EXPECT_EQ (it_m_md, it_m); // should default to tree depth
EXPECT_NE (it_m_1, it_m_b_1);
}

TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, LeafEnd)
{
// Useful types
typedef typename OctreeT::LeafNodeIterator IteratorT;

// Default initialization
IteratorT it_a_1 = oct_a_.leaf_end ();
IteratorT it_a_2 = oct_a_.leaf_end ();
IteratorT it_b = oct_b_.leaf_end ();

EXPECT_EQ (it_a_1, it_a_2);
EXPECT_NE (it_a_1, it_b);
EXPECT_NE (it_a_2, it_b);
}

TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, DepthBegin)
{
// Useful types
typedef typename OctreeT::Iterator IteratorT;
typedef typename OctreeT::DepthFirstIterator IteratorT;

// Default initialization
IteratorT it_a_1 = oct_a_.depth_begin ();
Expand All @@ -718,7 +758,7 @@ TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, DepthBegin)
TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, DepthEnd)
{
// Useful types
typedef typename OctreeT::Iterator IteratorT;
typedef typename OctreeT::DepthFirstIterator IteratorT;

// Default initialization
IteratorT it_a_1 = oct_a_.depth_end ();
Expand All @@ -730,40 +770,40 @@ TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, DepthEnd)
EXPECT_NE (it_a_2, it_b);
}

TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, LeafBegin)
TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, BreadthBegin)
{
// Useful types
typedef typename OctreeT::LeafNodeIterator IteratorT;
typedef typename OctreeT::BreadthFirstIterator IteratorT;

// Default initialization
IteratorT it_a_1 = oct_a_.leaf_begin ();
IteratorT it_a_2 = oct_a_.leaf_begin ();
IteratorT it_b = oct_b_.leaf_begin ();
IteratorT it_a_1 = oct_a_.breadth_begin ();
IteratorT it_a_2 = oct_a_.breadth_begin ();
IteratorT it_b = oct_b_.breadth_begin ();

EXPECT_EQ (it_a_1, it_a_2);
EXPECT_NE (it_a_1, it_b);
EXPECT_NE (it_a_2, it_b);

// Different max depths are not the same iterators
IteratorT it_m = oct_a_.leaf_begin ();
IteratorT it_m_1 = oct_a_.leaf_begin (1);
IteratorT it_m_md = oct_a_.leaf_begin (oct_a_.getTreeDepth ());
IteratorT it_m_b_1 = oct_b_.leaf_begin (1);
IteratorT it_m = oct_a_.breadth_begin ();
IteratorT it_m_1 = oct_a_.breadth_begin (1);
IteratorT it_m_md = oct_a_.breadth_begin (oct_a_.getTreeDepth ());
IteratorT it_m_b_1 = oct_b_.breadth_begin (1);

EXPECT_NE (it_m_1, it_m_md);
EXPECT_EQ (it_m_md, it_m); // should default to tree depth
EXPECT_NE (it_m_1, it_m_b_1);
}

TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, LeafEnd)
TEST_F (OctreePointCloudAdjacencyBeginEndIteratorsTest, BreadthEnd)
{
// Useful types
typedef typename OctreeT::LeafNodeIterator IteratorT;
typedef typename OctreeT::BreadthFirstIterator IteratorT;

// Default initialization
IteratorT it_a_1 = oct_a_.leaf_end ();
IteratorT it_a_2 = oct_a_.leaf_end ();
IteratorT it_b = oct_b_.leaf_end ();
IteratorT it_a_1 = oct_a_.breadth_end ();
IteratorT it_a_2 = oct_a_.breadth_end ();
IteratorT it_b = oct_b_.breadth_end ();

EXPECT_EQ (it_a_1, it_a_2);
EXPECT_NE (it_a_1, it_b);
Expand Down

0 comments on commit d352b15

Please sign in to comment.