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 AnilloUnitarioSinMarcarPorCopiaQuedaIgual() { Anillo<int>* a = new Anillo<int>(); a->agregar(1); Anillo<int>* b = new Anillo<int>(*a); ASSERT_EQ(b->tamanio(), a->tamanio()); ASSERT_EQ(b->hayMarcado(), a->hayMarcado()); ASSERT_EQ(b->actual(), a->actual()); ASSERT_EQ(b->siguiente(), a->siguiente()); ASSERT_EQ(to_s(b), to_s(a)); delete a; delete b; }
void AnilloVacioPorCopiaQuedaIgual() { Anillo<int>* a = new Anillo<int>(); Anillo<int>* b = new Anillo<int>(*a); ASSERT_EQ(b->tamanio(), a->tamanio()); ASSERT_EQ(b->hayMarcado(), a->hayMarcado()); for(int i = 0; i < a->tamanio(); i++) { ASSERT_EQ(b->actual(), a->actual()); ASSERT_EQ(b->siguiente(), a->siguiente()); } ASSERT_EQ(to_s(b), to_s(a)); delete a; delete b; }
void AnilloConElementosPorCopiaQuedaIgual() { Anillo<int>* a = new Anillo<int>(); a->agregar(1); a->agregar(2); a->marcar(); a->agregar(2); a->agregar(3); Anillo<int>* b = new Anillo<int>(*a); ASSERT_EQ(b->tamanio(), a->tamanio()); ASSERT_EQ(b->hayMarcado(), a->hayMarcado()); ASSERT_EQ(b->marcado(), a->marcado()); for(int i = 0; i < a->tamanio(); i++) { ASSERT_EQ(b->actual(), a->actual()); ASSERT_EQ(b->siguiente(), a->siguiente()); } ASSERT_EQ(to_s(b), to_s(a)); delete a; delete b; }
void AnilloNuevoEsVacio() { Anillo<int>* a = new Anillo<int>(); ASSERT(a->esVacio()); ASSERT_EQ(a->tamanio(), 0); delete a; }