TEST( PilaCharTest, desapilaTresElementosCumplindoFIFO ) { Pila<char> pila; pila.apilar('A'); pila.apilar('B'); pila.apilar('C'); ASSERT_FALSE( pila.estaVacia() ); ASSERT_EQ( 'C', pila.desapilar() ); ASSERT_FALSE( pila.estaVacia() ); ASSERT_EQ( 'B', pila.desapilar() ); ASSERT_FALSE( pila.estaVacia() ); ASSERT_EQ( 'A', pila.desapilar() ); ASSERT_TRUE( pila.estaVacia() ); }
TEST( PilaCharTest, desapilarElUnicoElementoApilado ) { Pila<char> pila; pila.apilar('S'); const char elemento = pila.desapilar(); ASSERT_TRUE( pila.estaVacia()); ASSERT_EQ( 'S', elemento); }
TEST( PilaCharTest, obtenerTopeNoModificaLaPila ) { Pila<char> pila; pila.apilar('X'); ASSERT_FALSE( pila.estaVacia() ); ASSERT_EQ( 'X', pila.obtenerTope() ); ASSERT_EQ( 'X', pila.obtenerTope() ); ASSERT_EQ( 'X', pila.obtenerTope() ); ASSERT_EQ( 'X', pila.desapilar() ); ASSERT_TRUE( pila.estaVacia() ); }
int main() { Pila<int> pila; pila.apilar(3); pila.apilar(5); pila.apilar(1); pila.apilar(6); while (! pila.estaVacia()) { cout << pila.desapilar() << endl; } return 0; }
int main(){ Pila pila; pila.apilar( 5 ); pila.apilar( 6 ); pila.apilar( 7 ); pila.apilar( 8 ); pila.apilar( 9 ); pila.apilar( 10 ); while( pila.esVacia() == 0 ){ printf(" %d\n", pila.desapilar() ); } return 0; }
TEST( PilaCharTest, desapilarConLaPilaVaciaLanzaExcepcion ) { Pila<char> pila; ASSERT_THROW(pila.desapilar(), std::string) << "Pila vacía"; }