
#include "Set.h"
#include <iostream>
using namespace std;

int main( )
{
    int i;
    Set<int> s;

      // Insert 0 to 9
    for( i = 0; i < 10; i++ )
        s.insert( i );


      // Look them up
    for( i = 0; i < 10; i++ )
    {
        Cref<int> val = s.find( i );
        if( val.isNull( ) )
            cout << "Unexpected -- didn't find " << i << endl;
        else
        if( val.get( ) != i )
            cout << "Unexpected -- didn't match " << i << " " << val.get( ) << endl;
        else
            cout << "Found " << i << endl;
    }

      // Remove
    for( i = 0; i < 10; i++ )
      s.remove( i );

    if( !s.isEmpty( ) )
        cout << "Unexpected: s should be empty" << endl;
 
    return 0;
}
   