stack.test.cc File Reference

#include <lestes/common.hh>
#include <lestes/std/stack.hh>
#include <lestes/std/vector.hh>

Go to the source code of this file.

Functions

int main ()


Function Documentation

int main ( void   ) 

Definition at line 35 of file stack.test.cc.

References lassert.

00036 {
00037         ptr < stack < int > > q0 = stack < int > :: create();
00038         lassert(q0->empty());
00039         q0->push(1);
00040         lassert(q0->top() == 1);
00041         lassert(!q0->empty());
00042         q0->push(2);
00043         lassert(q0->top() == 2);
00044         q0->push(3);
00045         lassert(q0->top() == 3);
00046         q0->pop();
00047         lassert(q0->top() == 2);
00048         q0->push(4);
00049         lassert(q0->top() == 4);
00050         q0->push(5);
00051         lassert(q0->top() == 5);
00052         q0->push(6);
00053         lassert(q0->top() == 6);
00054         q0->pop();
00055         lassert(q0->top() == 5);
00056         q0->pop();
00057         lassert(q0->top() == 4);
00058         q0->pop();
00059         lassert(q0->top() == 2);
00060         q0->pop();
00061         lassert(q0->top() == 1);
00062         q0->pop();
00063         lassert(q0->empty());
00064 
00065 #if vector_is_manhandled_to_be_usable_in_stack
00066         ptr < stack < int, vector < int > > > q1 = stack < int, vector < int > > :: create();
00067         lassert(q1->empty());
00068         q1->push(1);
00069         lassert(q1->top() == 1);
00070         lassert(!q1->empty());
00071         q1->push(2);
00072         lassert(q1->top() == 2);
00073         q1->push(3);
00074         lassert(q1->top() == 3);
00075         q1->pop();
00076         lassert(q1->top() == 2);
00077         q1->push(4);
00078         lassert(q1->top() == 4);
00079         q1->push(5);
00080         lassert(q1->top() == 5);
00081         q1->push(6);
00082         lassert(q1->top() == 6);
00083         q1->pop();
00084         lassert(q1->top() == 5);
00085         q1->pop();
00086         lassert(q1->top() == 4);
00087         q1->pop();
00088         lassert(q1->top() == 2);
00089         q1->pop();
00090         lassert(q1->top() == 1);
00091         q1->pop();
00092         lassert(q1->empty());
00093 #else
00094         ptr < object > q1 = stack < srp < object > > :: create();
00095 #endif
00096 
00097         ptr < stack < srp < object > > > q2 = stack < srp < object >  > :: create();
00098         lassert(q2->empty());
00099         q2->push(q0);
00100         lassert(q2->top() == q0);
00101         lassert(!q2->empty());
00102         q2->push(q1);
00103         lassert(q2->top() != q0);
00104         lassert(q2->top() == q1);
00105         lassert(!q2->empty());
00106         q2->pop();
00107         lassert(q2->top() == q0);
00108         lassert(!q2->empty());
00109         q2->push(q2);
00110         lassert(q2->top() == q2);
00111         q2->pop();
00112         lassert(q2->top() == q0);
00113         q2->pop();
00114         lassert(q2->empty());
00115 
00116         
00117 }


Generated on Mon Feb 12 18:23:47 2007 for lestes by doxygen 1.5.1-20070107