Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
k2tree_test.cc File Reference

Comprehensive test suite for K2Tree (2D k-d tree) spatial data structure. More...

#include <gtest/gtest.h>
#include <tpl_2dtree.H>
#include <random>
#include <algorithm>
#include <vector>
#include <set>
#include <cmath>
Include dependency graph for k2tree_test.cc:

Go to the source code of this file.

Typedefs

using K2TreeInt = K2Tree< Empty_Class >
 

Functions

 TEST (K2TreeBasic, ConstructorAndEmpty)
 
 TEST (K2TreeBasic, InsertSinglePoint)
 
 TEST (K2TreeBasic, InsertMultiplePoints)
 
 TEST (K2TreeBasic, InsertDuplicatePoint)
 
 TEST (K2TreeBasic, ContainsExisting)
 
 TEST (K2TreeBasic, ContainsNonExisting)
 
 TEST (K2TreeBasic, EmptyTreeContains)
 
 TEST (K2TreeInsertion, AscendingOrder)
 
 TEST (K2TreeInsertion, DescendingOrder)
 
 TEST (K2TreeInsertion, RandomOrder)
 
 TEST (K2TreeInsertion, ClusteredPoints)
 
 TEST (K2TreeNearest, SinglePoint)
 
 TEST (K2TreeNearest, MultiplePoints)
 
 TEST (K2TreeNearest, EmptyTree)
 
 TEST (K2TreeNearest, ExactMatch)
 
 TEST (K2TreeNearest, GridOfPoints)
 
 TEST (K2TreeRange, EmptyTree)
 
 TEST (K2TreeRange, AllPointsInRange)
 
 TEST (K2TreeRange, NoPointsInRange)
 
 TEST (K2TreeRange, SomePointsInRange)
 
 TEST (K2TreeRange, BoundaryPoints)
 
 TEST (K2TreeStress, LargeNumberOfPoints)
 
 TEST (K2TreeStress, ManyNearestQueries)
 
 TEST (K2TreeStress, ManyRangeQueries)
 
 TEST (K2TreeStress, DenseAndSparseRegions)
 
 TEST (K2TreeEdgeCases, ColinearPoints)
 
 TEST (K2TreeEdgeCases, VerticalLine)
 
 TEST (K2TreeEdgeCases, HorizontalLine)
 
 TEST (K2TreeEdgeCases, VeryClosePoints)
 
 TEST (K2TreeEdgeCases, NegativeCoordinates)
 
 TEST (K2TreeCorrectness, NearestIsActuallyNearest)
 
 TEST (K2TreeCorrectness, RangeIncludesAllInside)
 
 TEST (K2TreeFuzz, RandomInsertionsAndQueries)
 
int main (int argc, char **argv)
 

Detailed Description

Comprehensive test suite for K2Tree (2D k-d tree) spatial data structure.

Author
Test Suite Generator

Definition in file k2tree_test.cc.

Typedef Documentation

◆ K2TreeInt

Definition at line 47 of file k2tree_test.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 707 of file k2tree_test.cc.

References Aleph::maps().

◆ TEST() [1/33]

TEST ( K2TreeBasic  ,
ConstructorAndEmpty   
)

Definition at line 53 of file k2tree_test.cc.

References K2Tree< T >::is_empty(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [2/33]

TEST ( K2TreeBasic  ,
ContainsExisting   
)

Definition at line 95 of file k2tree_test.cc.

References K2Tree< T >::contains(), K2Tree< T >::insert(), and Aleph::maps().

◆ TEST() [3/33]

TEST ( K2TreeBasic  ,
ContainsNonExisting   
)

Definition at line 106 of file k2tree_test.cc.

References K2Tree< T >::contains(), K2Tree< T >::insert(), and Aleph::maps().

◆ TEST() [4/33]

TEST ( K2TreeBasic  ,
EmptyTreeContains   
)

Definition at line 116 of file k2tree_test.cc.

References K2Tree< T >::contains(), and Aleph::maps().

◆ TEST() [5/33]

TEST ( K2TreeBasic  ,
InsertDuplicatePoint   
)

Definition at line 83 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [6/33]

TEST ( K2TreeBasic  ,
InsertMultiplePoints   
)

Definition at line 72 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [7/33]

TEST ( K2TreeBasic  ,
InsertSinglePoint   
)

◆ TEST() [8/33]

TEST ( K2TreeCorrectness  ,
NearestIsActuallyNearest   
)

◆ TEST() [9/33]

TEST ( K2TreeCorrectness  ,
RangeIncludesAllInside   
)

◆ TEST() [10/33]

TEST ( K2TreeEdgeCases  ,
ColinearPoints   
)

◆ TEST() [11/33]

TEST ( K2TreeEdgeCases  ,
HorizontalLine   
)

Definition at line 535 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [12/33]

TEST ( K2TreeEdgeCases  ,
NegativeCoordinates   
)

◆ TEST() [13/33]

TEST ( K2TreeEdgeCases  ,
VerticalLine   
)

Definition at line 523 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [14/33]

TEST ( K2TreeEdgeCases  ,
VeryClosePoints   
)

Definition at line 547 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [15/33]

◆ TEST() [16/33]

TEST ( K2TreeInsertion  ,
AscendingOrder   
)

◆ TEST() [17/33]

TEST ( K2TreeInsertion  ,
ClusteredPoints   
)

Definition at line 189 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [18/33]

TEST ( K2TreeInsertion  ,
DescendingOrder   
)

Definition at line 151 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [19/33]

TEST ( K2TreeInsertion  ,
RandomOrder   
)

◆ TEST() [20/33]

TEST ( K2TreeNearest  ,
EmptyTree   
)

Definition at line 248 of file k2tree_test.cc.

References Aleph::maps(), K2Tree< T >::nearest(), and NullPoint.

◆ TEST() [21/33]

TEST ( K2TreeNearest  ,
ExactMatch   
)

◆ TEST() [22/33]

TEST ( K2TreeNearest  ,
GridOfPoints   
)

◆ TEST() [23/33]

TEST ( K2TreeNearest  ,
MultiplePoints   
)

◆ TEST() [24/33]

TEST ( K2TreeNearest  ,
SinglePoint   
)

◆ TEST() [25/33]

TEST ( K2TreeRange  ,
AllPointsInRange   
)

◆ TEST() [26/33]

TEST ( K2TreeRange  ,
BoundaryPoints   
)

◆ TEST() [27/33]

TEST ( K2TreeRange  ,
EmptyTree   
)

Definition at line 296 of file k2tree_test.cc.

References Aleph::HTList::is_empty(), Aleph::maps(), and K2Tree< T >::range().

◆ TEST() [28/33]

TEST ( K2TreeRange  ,
NoPointsInRange   
)

◆ TEST() [29/33]

TEST ( K2TreeRange  ,
SomePointsInRange   
)

◆ TEST() [30/33]

TEST ( K2TreeStress  ,
DenseAndSparseRegions   
)

◆ TEST() [31/33]

TEST ( K2TreeStress  ,
LargeNumberOfPoints   
)

Definition at line 387 of file k2tree_test.cc.

References K2Tree< T >::insert(), Aleph::maps(), and K2Tree< T >::size().

◆ TEST() [32/33]

TEST ( K2TreeStress  ,
ManyNearestQueries   
)

◆ TEST() [33/33]

TEST ( K2TreeStress  ,
ManyRangeQueries   
)