Exemplo n.º 1
0
void test_crear_paquetes() {
	Driver dcnet;
	Computadora c1 = "skynet";
	Computadora c2 = "terminator";
	Computadora c3 = "connor";

	Interfaz i1 = 1;
	Interfaz i2 = 2;
	Interfaz i3 = 3;
	Interfaz i4 = 4;
	Interfaz i5 = 5;

	Conj<Interfaz> conjIc1;
	Conj<Interfaz> conjIc2;
	Conj<Interfaz> conjIc3;

	conjIc1.Agregar(i1);
	
	conjIc2.Agregar(i2);
	conjIc2.Agregar(i5);
	
	conjIc3.Agregar(i4);
	conjIc3.Agregar(i3);
	
	dcnet.AgregarComputadora(c1,conjIc1);
	dcnet.AgregarComputadora(c2,conjIc2);
	dcnet.AgregarComputadora(c3,conjIc3);
	
	dcnet.Conectar(c1, i1,c2, i2);	
	dcnet.Conectar(c2, i5,c3, i3);	

	dcnet.CrearPaquete(c1,c2,2);
	dcnet.CrearPaquete(c1,c2,1);
	dcnet.CrearPaquete(c2,c3,3);
	dcnet.CrearPaquete(c2,c3,2);
	dcnet.CrearPaquete(c2,c3,1);
	dcnet.CrearPaquete(c2,c3,1);
	
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c1), 2);
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c2), 4);
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c3), 0);	
	
	dcnet.AvanzarSegundo();
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c1), 1);
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c2), 3);
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c3), 0);	
	
	ASSERT_EQ(dcnet.CantidadEnviadosPor(c1), 1);
	ASSERT_EQ(dcnet.CantidadEnviadosPor(c2), 1);
	ASSERT_EQ(dcnet.CantidadEnviadosPor(c3), 0);
	
}
Exemplo n.º 2
0
void test_respeta_priodades() {
	Driver dcnet;
	Computadora c1 = "skynet";
	Computadora c2 = "sky";

	Interfaz i1 = 1;
	Interfaz i2 = 2;

	Conj<Interfaz> conjIc1;
	Conj<Interfaz> conjIc2;

	conjIc1.Agregar(i1);
	
	conjIc2.Agregar(i2);
	
	dcnet.AgregarComputadora(c1,conjIc1);
	dcnet.AgregarComputadora(c2,conjIc2);
	
	dcnet.Conectar(c1, i1,c2, i2);	

	dcnet.CrearPaquete(c1,c2,2);
	dcnet.CrearPaquete(c1,c2,1);
	dcnet.CrearPaquete(c1,c2,3);

	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c1), 3);

	dcnet.AvanzarSegundo();
	
	ASSERT_EQ(dcnet.CantidadEnEsperaEn(c1), 2);
	ASSERT_EQ(dcnet.CantidadEnviadosPor(c1), 1);

	bool respetaPrioridad = true;
	for (int i =0; i < dcnet.CantidadEnEsperaEn(c1) ; i++) { 
		Nat pr = dcnet.prioridad(dcnet.IesimoEnEsperaEn(c1, i));
		//std::cout << dcnet.prioridad(dcnet.IesimoEnEsperaEn(c1, i)) << "\n";
		if (pr == 1) {
			respetaPrioridad = false;
		}
	}

	ASSERT_EQ(respetaPrioridad, true);

}