1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#include <iostream.h>
#include "list.h"
typedef list<int> ilist;
typedef ilist::iter iiter;
void test_remove_first()
{
ilist l;
l.append(1);
l.append(2);
iiter i(l);
l.remove(i);
if(!i) cout << "After removing first, iter no longer valid\n";
else if(*i != 2) cout << "After removing first, iter is wrong\n";
if(l.count() != 1) cout << "After removing first, count is wrong\n";
}
void test_remove_mid()
{
ilist l;
l.append(1);
l.append(2);
l.append(3);
iiter i(l);
i++;
l.remove(i);
if(!i) cout << "After removing middle, iter no longer valid\n";
else if(*i != 3) cout << "After removing middle, iter is wrong\n";
if(l.count() != 2) cout << "After removing middle, count is wrong\n";
}
void test_remove_last()
{
ilist l;
l.append(1);
l.append(2);
iiter i(l);
i++;
l.remove(i);
if(i) cout << "After removing last, iter is still valid\n";
if(l.count() != 1) cout << "After removing last, count is wrong\n";
}
int main() {
test_remove_first();
test_remove_mid();
test_remove_last();
return 0;
}
|