void test_el_mas_infractor_e_inspeccion() { Conj<Estacion> es; es.Agregar("Belgrano"); es.Agregar("Retiro"); Driver d(es); d.AgregarSenda("Belgrano","Retiro","ca"); Conj<Caracteristica> cs1; cs1.Agregar("cb"); d.Entrar(cs1,"Belgrano"); d.Entrar(cs1,"Belgrano"); d.Entrar(cs1,"Belgrano"); d.Entrar(cs1,"Retiro"); ASSERT_EQ(d.CantidadRobotsActivos(),4); d.Mover(0, "Retiro"); d.Mover(1, "Retiro"); d.Mover(2, "Retiro"); d.Mover(0, "Belgrano"); d.Mover(1, "Belgrano"); Conj<RUR> peores; // {0,1} con 2 infracciones peores.Agregar(0); peores.Agregar(1); d.Inspeccion("Retiro"); // No debe volar a ninguno de los mas infractores ASSERT(peores.Pertenece(d.ElMasInfractor())); infoRobots info = getDatosRobotsActivos(d); ASSERT(info.caracteristicas.Definido(0) && info.caracteristicas.Definido(1)); d.Inspeccion("Belgrano"); // Debe volar a uno de los dos mas infractores ASSERT(peores.Pertenece(d.ElMasInfractor())); info = getDatosRobotsActivos(d); ASSERT(!(info.caracteristicas.Definido(0) && info.caracteristicas.Definido(1))); }
void test_el_mas_infractor() { Conj<Estacion> es; es.Agregar("Belgrano"); es.Agregar("Retiro"); Driver d(es); d.AgregarSenda("Belgrano","Retiro","ca"); Conj<Caracteristica> cs1; cs1.Agregar("cb"); d.Entrar(cs1,"Belgrano"); d.Entrar(cs1,"Belgrano"); d.Entrar(cs1,"Belgrano"); d.Entrar(cs1,"Retiro"); ASSERT_EQ(d.CantidadRobotsActivos(),4); d.Mover(0, "Retiro"); d.Mover(1, "Retiro"); d.Mover(2, "Retiro"); d.Mover(0, "Belgrano"); d.Mover(1, "Belgrano"); Conj<RUR> peores; // {0,1} con 2 infracciones peores.Agregar(0); peores.Agregar(1); ASSERT(peores.Pertenece(d.ElMasInfractor())); d.Mover(0,"Retiro"); // Ahora el RUR 0 es el más infractor ASSERT_EQ(d.ElMasInfractor(),0); }