&sectionHeader('Unit Tests');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('001', 'get');
$subtotal += &runTest('002', 'size');
$subtotal += &runTest('003', 'contains');
$subtotal += &runTest('004', 'put NULL');
$subtotal += &runTest('005', 'Multiple puts');
$subtotal += &runTest('006', 'Large map');
$subtotal += &runTest('007', 'for_each');
$subtotal += &runTest('008', 'destroy');
$subtotal += &runTest('009', 'contains on large map');
$subtotal += &runTest('010', 'All functions');
$subtotal += &runTest('011', 'remove');
$subtotal += &runTest('012', 'remove key not in map');
$subtotal += &runTest('013', 'remove after collisions');
$subtotal += &runTest('014', 'remove followed by destroy');
$subtotal += &runTest('015', 'Initial size is reasonable');
$subtotal += &runTest('016', 'Out of memory');
$total += floor($subtotal);
&sectionResults('Unit Tests', $subtotal);

&sectionHeader('Unit Tests with Valgrind');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('017', 'get');
$subtotal += &runTest('018', 'multiple puts');
$subtotal += &runTest('019', 'create and destroy');
$subtotal += &runTest('020', 'remove');
$subtotal += &runTest('021', 'remove after collisions');
$subtotal += &runTest('022', 'large map');
$subtotal += &runTest('023', 'all');
$total += floor($subtotal);
&sectionResults('Unit Tests with Valgrind', $subtotal);

&sectionHeader('Competitions');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('024', 'Small example, wins');
$subtotal += &runTest('025', 'Small example, total score');
$subtotal += &runTest('026', 'Larger example, wins');
$subtotal += &runTest('027', 'Valgrind');
$total += floor($subtotal);
&sectionResults('Competitions', $subtotal);

&sectionHeader('Invalid input');
@SOURCE = ();
@LINK = ();
$subtotal = &runTest('028', 'File not found');
$subtotal += &runTest('029', 'Not win or score');
$subtotal += &runTest('030', 'Long id in entries');
$subtotal += &runTest('031', 'Non-numeric unit count in entries');
$subtotal += &runTest('032', 'Inconsistent total units');
$subtotal += &runTest('033', 'Wrong number of battlefields');
$subtotal += &runTest('034', 'Blank line');
$subtotal += &runTest('035', 'Matchup with invalid id');
$subtotal += &runTest('036', 'Missing entry id in matchup');
$total += floor($subtotal);
&sectionResults('Invalid input', $subtotal);

