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() );
}
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, apilarUnUnicoElemento ) {

    Pila<char> pila;

    pila.apilar('D');

    ASSERT_FALSE( 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, apilarMultiplesElementos ) {

    Pila<char> pila;

    pila.apilar('O');
    pila.apilar('P');
    pila.apilar('Q');

    ASSERT_FALSE( pila.estaVacia() );
}
TEST( PilaCharTest, obtenerTope ) {

    Pila<char> pila;

    pila.apilar('X');
    pila.apilar('Y');
    pila.apilar('Z');

    ASSERT_FALSE( pila.estaVacia() );
    ASSERT_EQ( 'Z', pila.obtenerTope() );
}
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;
}
Exemple #8
0
int main() {
	Pila<float> pila;
	Cola<float> cola;

	cout << " -> Pila" << endl;
	for (int i = 0; i < 10; i++)
		pila.insertar(i + 0.01);

	while (!pila.estaVacia())
		cout << "\t" << pila.sacar() << endl;

	cout << endl << " -> Cola " << endl;
	for (int i = 0; i < 10; i++)
		cola.insertar(i + 0.03);

	while (!cola.estaVacia())
		cout << "\t" << cola.sacar() << endl;

	return 0;
}
TEST( PilaCharTest, crear ) {

    Pila<char> pila;

    ASSERT_TRUE( pila.estaVacia() );
}