void AnilloUnitarioAlEliminarQuedaVacio() { Anillo<int>* a = new Anillo<int>(); ASSERT(a->esVacio()); ASSERT_EQ(a->tamanio(), 0); a->agregar(42); ASSERT(!a->esVacio()); ASSERT_EQ(a->tamanio(), 1); a->eliminar(42); ASSERT(a->esVacio()); ASSERT_EQ(a->tamanio(), 0); delete a; }
void AnilloUnitarioDaSiguiente() { Anillo<int>* a = new Anillo<int>(); a->agregar(42); ASSERT(!a->esVacio()); ASSERT_EQ(a->tamanio(), 1); ASSERT_EQ(a->siguiente(), 42); delete a; }
void AnilloEliminaCorrectamente() { Anillo<int>* a = new Anillo<int>(); a->agregar(1); a->agregar(2); a->agregar(3); a->agregar(3); a->marcar(); a->agregar(4); a->agregar(5); ASSERT(a->hayMarcado()); ASSERT_EQ(to_s(a), "[5, 4, 3*, 3, 2, 1]"); a->eliminar(2); ASSERT(a->hayMarcado()); ASSERT_EQ(to_s(a), "[5, 4, 3*, 3, 1]"); a->eliminar(a->actual()); ASSERT(a->hayMarcado()); ASSERT_EQ(to_s(a), "[1, 4, 3*, 3]"); a->eliminar(3); ASSERT(a->hayMarcado()); ASSERT_EQ(to_s(a), "[1, 4, 3*]"); a->eliminar(3); ASSERT(!a->hayMarcado()); ASSERT_EQ(to_s(a), "[1, 4]"); a->eliminar(4); ASSERT(!a->hayMarcado()); ASSERT_EQ(to_s(a), "[1]"); a->eliminar(1); ASSERT(!a->hayMarcado()); ASSERT_EQ(to_s(a), "[]"); ASSERT(a->esVacio()); delete a; }
void AnilloNuevoEsVacio() { Anillo<int>* a = new Anillo<int>(); ASSERT(a->esVacio()); ASSERT_EQ(a->tamanio(), 0); delete a; }