&sectionHeader('Unit Tests');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('001', 'kdtree_add and kdtree_destroy');
$subtotal += &runTest('002', 'kdtree_add once');
$subtotal += &runTest('003', 'kdtree_contains for one-item set');
$subtotal += &runTest('004', 'kdtree_add multiple times');
$subtotal += &runTest('005', 'kdtree_contains for larger set');
$subtotal += &runTest('006', 'kdtree_for_each for empty set');
$subtotal += &runTest('007', 'kdtree_for_each for non-empty subset');
$subtotal += &runTest('008', 'kdtree_nearest_neighbor for empty set');
$subtotal += &runTest('009', 'kdtree_nearest_neighbor for point in set');
$subtotal += &runTest('010', 'kdtree_nearest_neighbor for point not in set');
$subtotal += &runTest('011', 'kdtree_nearest_neighbor for point not in set (swapped coordinates)');
$subtotal += &runTest('012', 'kdtree_create for small set');
$subtotal += &runTest('013', 'kdtree_nearest_neighbor for small balanced tree');
$subtotal += &runTest('014', 'kdtree_nearest_neighbor for large random tree');
$total += floor($subtotal);
&sectionResults('Unit Tests', $subtotal);

&sectionHeader('Examples');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('015', '1st Example, add one by one');
$subtotal += &runTest('016', '2nd Example, add one by one');
$subtotal += &runTest('017', '1st Example, build');
$subtotal += &runTest('018', '2nd Example, build');
$subtotal += &runTest('019', '1st Example, nearest to (4,5)');
$subtotal += &runTest('020', '2nd Example, nearest to (4,5)');
$total += floor($subtotal);
&sectionResults('Examples', $subtotal);

&sectionHeader('Valgrind');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('021', 'kdtree_add and kdtree_destroy');
$subtotal += &runTest('022', 'kdtree_add once');
$subtotal += &runTest('023', 'kdtree_contains for one-item set');
$subtotal += &runTest('024', 'kdtree_add multiple times');
$subtotal += &runTest('025', 'kdtree_contains for larger set');
$subtotal += &runTest('026', 'kdtree_for_each for empty set');
$subtotal += &runTest('027', 'kdtree_for_each for non-empty subset');
$subtotal += &runTest('028', 'kdtree_nearest_neighbor for empty set');
$subtotal += &runTest('029', 'kdtree_nearest_neighbor for point in set');
$subtotal += &runTest('030', 'kdtree_nearest_neighbor for point not in set');
$subtotal += &runTest('031', 'kdtree_create for small set');
$subtotal += &runTest('032', 'kdtree_nearest_neighbor for small balanced tree');
$total += floor($subtotal);
&sectionResults('Valgrind', $subtotal);

