/// <summary> /// Procesa todo lo que se puede procesar. /// </summary> /// <returns>El número de cambios.</returns> public int ProcesarTodo() { int númeroDeProblemas = 0; númeroDeProblemas += ManejadorDePdis.ProcesarTodo(); númeroDeProblemas += ManejadorDeVías.ProcesarTodo(); EscuchadorDeEstatus.Estatus = string.Format("Se detectaron {0} problemas", númeroDeProblemas); return(númeroDeProblemas); }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> /// <param name="elServicioDiálogoAbrirArchivos">El servicio de diálogo para abrir archivos.</param> public ManejadorDeMapa( IEscuchadorDeEstatus elEscuchadorDeEstatus, IOpenFileDialogService elServicioDiálogoAbrirArchivos) { Trace.WriteLine("Inicializando ManejadorDeMapa"); EscuchadorDeEstatus = elEscuchadorDeEstatus; ManejadorDeElementos = new ManejadorDeElementos(this, misElementos, elEscuchadorDeEstatus); ManejadorDePdis = new ManejadorDePdis(this, misPdis, elEscuchadorDeEstatus); ManejadorDeVías = new ManejadorDeVías(this, misVías, elEscuchadorDeEstatus, elServicioDiálogoAbrirArchivos); Polígonos = new List <Polígono>(); Polilíneas = new List <Polilínea>(); Ciudades = new List <Ciudad>(); NodosRuteables = new Dictionary <int, IList <Nodo> >(); }
public void PruebaConstructor() { // Preparación. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus); ManejadorDeVías manejadorDePdis = new ManejadorDeVías(manejadorDeMapa, new List <Vía>(), escuchadorDeEstatus, null); // Llama al contructor bajo prueba. ArregladorGeneral objectoDePrueba = new ArregladorGeneral(manejadorDePdis, escuchadorDeEstatus); // Prueba propiedades. Assert.That(objectoDePrueba.NúmeroDeElementos, Is.EqualTo(0), "NúmeroDeElementos"); Assert.That(objectoDePrueba.NúmeroDeProblemasDetectados, Is.EqualTo(0), "NúmeroDeElementosModificados"); }
public void PruebaConstructor() { // Preparación. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus); ManejadorDeVías manejadorDePdis = new ManejadorDeVías(manejadorDeMapa, new List<Vía>(), escuchadorDeEstatus, null); // Llama al contructor bajo prueba. ArregladorGeneral objectoDePrueba = new ArregladorGeneral(manejadorDePdis, escuchadorDeEstatus); // Prueba propiedades. Assert.That(objectoDePrueba.NúmeroDeElementos, Is.EqualTo(0), "NúmeroDeElementos"); Assert.That(objectoDePrueba.NúmeroDeProblemasDetectados, Is.EqualTo(0), "NúmeroDeElementosModificados"); }
public void PruebaProcesaCaso1() { #region Preparación. // Crea el objeto a probar. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus); ManejadorDeVías manejadorDeVías = new ManejadorDeVías(manejadorDeMapa, new List<Vía>(), escuchadorDeEstatus, null); ArregladorGeneral objectoDePrueba = new ArregladorGeneral(manejadorDeVías, escuchadorDeEstatus); // Caso de prueba. Caso[] casos = new[] { // Nombre, IndicadorDeDirección, UnSoloSentido, IndicadorDeDirecciónEsperado, UnSoloSentidoEsperado new Caso ( "A", "0", false, "0", false), // Calle doble sentido. new Caso ( "B", "0", true, "1", true), // Indicador de dirección = 0. new Caso ( "C", "1", false, "1", true), // Falta UnSoloSentido. new Caso ( "D", "1", true, "1", true), // Calle un sentido. new Caso ( "E", null, true, "1", true), // Falta indicador de dirección. }; const int númeroDeProblemasDetectados = 3; // Crea los elementos. // Vía típica: // [POLYLINE] // Type=0x2 // Label=TRONCAL 9 // EndLevel=3 // DirIndicator=1 // CityIdx=1 // RoadID=47 // RouteParam=5,3,1,0,0,0,0,0,0,0,0,0 // Data0=(10.16300,-66.00000),(10.16199,-65.99850),(10.16010,-65.99591) IList<Vía> vías = manejadorDeVías.Elementos; const string clase = "POI"; for (int i = 0; i < casos.Length; ++i) { Caso caso = casos[i]; List<Campo> campos = new List<Campo> { new CampoTipo("0x2"), new CampoNombre (caso.Nombre), new CampoGenérico("EndLevel", "3"), new CampoParámetrosDeRuta( new LímiteDeVelocidad(5), new ClaseDeRuta(3), new[] {caso.UnSoloSentido, false, false, false, false, false, false, false, false, false} ), new CampoCoordenadas("Data", 0, new[] { new Coordenadas(10.16300,-66.00000), new Coordenadas(10.16199,-65.99850), new Coordenadas(10.16010,-65.99591), }) }; if ( caso.IndicadorDeDirección != null) { campos.Add(new CampoGenérico(Vía.IdentificadorIndicadorDeDirección, caso.IndicadorDeDirección)); } Vía vía = new Vía(manejadorDeMapa, i, clase, campos); vías.Add(vía); } #endregion // Llama al método bajo prueba. objectoDePrueba.Procesa(); // Prueba propiedades. Assert.That(objectoDePrueba.NúmeroDeElementos, Is.EqualTo(vías.Count), "NúmeroDeElementos"); Assert.That(objectoDePrueba.NúmeroDeProblemasDetectados, Is.EqualTo(númeroDeProblemasDetectados), "NúmeroDeProblemasDetectados"); // Prueba los nobres de los PDIs. for (int i = 0; i < casos.Length; ++i) { Assert.That(vías[i].CampoParámetrosDeRuta.OtrosParámetros[0], Is.EqualTo(casos[i].UnSoloSentidoEsperado), "Vía[" + i + "].OtrosParámetros[0]"); Assert.That(vías[i].CampoIndicadorDeDirección, Is.Not.Null, "Vía[" + i + "].CampoIndicadorDeDirección"); Assert.That(vías[i].CampoIndicadorDeDirección.Texto, Is.EqualTo(casos[i].IndicadorDeDirecciónEsperado), "Vía[" + i + "].CampoIndicadorDeDirección.Texto"); } }
public void PruebaProcesaCaso1() { #region Preparación. // Crea el objeto a probar. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus); ManejadorDeVías manejadorDeVías = new ManejadorDeVías(manejadorDeMapa, new List <Vía>(), escuchadorDeEstatus, null); ArregladorGeneral objectoDePrueba = new ArregladorGeneral(manejadorDeVías, escuchadorDeEstatus); // Caso de prueba. Caso[] casos = new[] { // Nombre, IndicadorDeDirección, UnSoloSentido, IndicadorDeDirecciónEsperado, UnSoloSentidoEsperado new Caso("A", "0", false, "0", false), // Calle doble sentido. new Caso("B", "0", true, "1", true), // Indicador de dirección = 0. new Caso("C", "1", false, "1", true), // Falta UnSoloSentido. new Caso("D", "1", true, "1", true), // Calle un sentido. new Caso("E", null, true, "1", true), // Falta indicador de dirección. }; const int númeroDeProblemasDetectados = 3; // Crea los elementos. // Vía típica: // [POLYLINE] // Type=0x2 // Label=TRONCAL 9 // EndLevel=3 // DirIndicator=1 // CityIdx=1 // RoadID=47 // RouteParam=5,3,1,0,0,0,0,0,0,0,0,0 // Data0=(10.16300,-66.00000),(10.16199,-65.99850),(10.16010,-65.99591) IList <Vía> vías = manejadorDeVías.Elementos; const string clase = "POI"; for (int i = 0; i < casos.Length; ++i) { Caso caso = casos[i]; List <Campo> campos = new List <Campo> { new CampoTipo("0x2"), new CampoNombre(caso.Nombre), new CampoGenérico("EndLevel", "3"), new CampoParámetrosDeRuta( new LímiteDeVelocidad(5), new ClaseDeRuta(3), new[] { caso.UnSoloSentido, false, false, false, false, false, false, false, false, false }), new CampoCoordenadas("Data", 0, new[] { new Coordenadas(10.16300, -66.00000), new Coordenadas(10.16199, -65.99850), new Coordenadas(10.16010, -65.99591), }) }; if (caso.IndicadorDeDirección != null) { campos.Add(new CampoGenérico(Vía.IdentificadorIndicadorDeDirección, caso.IndicadorDeDirección)); } Vía vía = new Vía(manejadorDeMapa, i, clase, campos); vías.Add(vía); } #endregion // Llama al método bajo prueba. objectoDePrueba.Procesa(); // Prueba propiedades. Assert.That(objectoDePrueba.NúmeroDeElementos, Is.EqualTo(vías.Count), "NúmeroDeElementos"); Assert.That(objectoDePrueba.NúmeroDeProblemasDetectados, Is.EqualTo(númeroDeProblemasDetectados), "NúmeroDeProblemasDetectados"); // Prueba los nobres de los PDIs. for (int i = 0; i < casos.Length; ++i) { Assert.That(vías[i].CampoParámetrosDeRuta.OtrosParámetros[0], Is.EqualTo(casos[i].UnSoloSentidoEsperado), "Vía[" + i + "].OtrosParámetros[0]"); Assert.That(vías[i].CampoIndicadorDeDirección, Is.Not.Null, "Vía[" + i + "].CampoIndicadorDeDirección"); Assert.That(vías[i].CampoIndicadorDeDirección.Texto, Is.EqualTo(casos[i].IndicadorDeDirecciónEsperado), "Vía[" + i + "].CampoIndicadorDeDirección.Texto"); } }