private void DibujaNodos(Vía laVía) { foreach (Nodo nodo in laVía.Nodos) { if (nodo.EsRuteable) { miMapa.PuntosAddicionales.Add(new InterfaseMapa.PuntoAdicional( nodo.Coordenadas, miPincelDeNodoRuteable, 11)); } else { miMapa.PuntosAddicionales.Add(new InterfaseMapa.PuntoAdicional( nodo.Coordenadas, miPincelDeNodo, 5)); } } }
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 PruebaConstructor() { // Preparación. int número = 12; ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(new EscuchadorDeEstatusPorOmisión()); string clase = "clase"; string nombre = "Nombre"; string tipo = "0xc"; string descripción = "Roundabout"; CampoParámetrosDeRuta parámetrosDeRuta = new CampoParámetrosDeRuta( new LímiteDeVelocidad(2), new ClaseDeRuta(3), new bool[10]); List<Campo> campos = new List<Campo> { new CampoNombre (nombre), new CampoComentario (";Comentario"), new CampoTipo (tipo), parámetrosDeRuta }; // Llama al constructor. Vía objectoEnPrueba = new Vía(manejadorDeMapa, número, clase, campos); // Prueba Propiedades. Assert.That(campos, Is.EqualTo(objectoEnPrueba.Campos), "Campos"); Assert.That(clase, Is.EqualTo(objectoEnPrueba.Clase), "Clase"); Assert.That(descripción, Is.EqualTo(objectoEnPrueba.Descripción), "Descripción"); Assert.That(objectoEnPrueba.FuéEliminado, Is.False, "FuéEliminado"); Assert.That(objectoEnPrueba.FuéModificado, Is.False, "FuéModificado"); Assert.That(nombre, Is.EqualTo(objectoEnPrueba.Nombre), "Nombre"); Assert.That(número, Is.EqualTo(objectoEnPrueba.Número), "Número"); Assert.That(objectoEnPrueba.Original, Is.Null, "Original"); Assert.That(string.Empty, Is.EqualTo(objectoEnPrueba.RazónParaEliminación), "RazónParaEliminación"); Assert.That(new Tipo(tipo), Is.EqualTo(objectoEnPrueba.Tipo), "Tipo"); Assert.That(objectoEnPrueba.CampoParámetrosDeRuta, Is.EqualTo(parámetrosDeRuta), "CampoParámetrosDeRuta"); }
public void PruebaCambiaCampoParámetrosDeRuta() { #region Caso 1: Vía con Campo de Parámetros de Ruta. { #region Preparación. int número = 12; ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(new EscuchadorDeEstatusPorOmisión()); string clase = "clase"; string nombre = "Nombre"; string tipo = "0xc"; string descripción = "Roundabout"; CampoParámetrosDeRuta campoParámetrosDeRuta = new CampoParámetrosDeRuta( new LímiteDeVelocidad(2), new ClaseDeRuta(3), new bool[] { true, false, false, true, true, false, true, true, false, false }); List<Campo> campos = new List<Campo> { new CampoNombre (nombre), new CampoComentario (";Comentario"), new CampoTipo (tipo), campoParámetrosDeRuta }; // Crea el objeto en prueba. Vía objectoEnPrueba = new Vía(manejadorDeMapa, número, clase, campos); ElementoDelMapa víaOriginal = (ElementoDelMapa)objectoEnPrueba.Clone(); // Nuevos valores. CampoParámetrosDeRuta nuevoCampoParámetrosDeRuta = new CampoParámetrosDeRuta( new LímiteDeVelocidad(5), campoParámetrosDeRuta.ClaseDeRuta, campoParámetrosDeRuta.OtrosParámetros); Assert.That(nuevoCampoParámetrosDeRuta, Is.Not.EqualTo(campoParámetrosDeRuta), "El nuevo campo de parámetros de ruta debe ser distinto"); #endregion // Llama al método a probar. objectoEnPrueba.CambiaCampoParámetrosDeRuta(nuevoCampoParámetrosDeRuta, "Razón"); // Prueba Propiedades. Assert.That(objectoEnPrueba.Campos, Is.EqualTo(campos), "Campos"); Assert.That(objectoEnPrueba.Clase, Is.EqualTo(clase), "Clase"); Assert.That(descripción, Is.EqualTo(objectoEnPrueba.Descripción), "Descripción"); Assert.That(objectoEnPrueba.FuéEliminado, Is.False, "FuéEliminado"); Assert.That(objectoEnPrueba.FuéModificado, Is.True, "FuéModificado"); Assert.That(objectoEnPrueba.Nombre, Is.EqualTo(nombre), "Nombre"); Assert.That(objectoEnPrueba.Número, Is.EqualTo(número), "Número"); PruebaElementoDesconocido.AseguraElementoEsEquivalente(víaOriginal, objectoEnPrueba.Original, "Original"); Assert.That(objectoEnPrueba.RazónParaEliminación, Is.EqualTo(string.Empty), "RazónParaEliminación"); Assert.That(objectoEnPrueba.Tipo, Is.EqualTo(new Tipo(tipo)), "Tipo"); Assert.That(objectoEnPrueba.CampoParámetrosDeRuta, Is.EqualTo(nuevoCampoParámetrosDeRuta), "CampoParámetrosDeRuta"); } #endregion #region Caso 2: Vía sin Campo de Parámetros de Ruta. { #region Preparación. int número = 12; ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(new EscuchadorDeEstatusPorOmisión()); string clase = "clase"; string nombre = "Nombre"; string tipo = "0xc"; string descripción = "Roundabout"; List<Campo> campos = new List<Campo> { new CampoNombre (nombre), new CampoComentario (";Comentario"), new CampoTipo (tipo) }; // Crea el objeto en prueba. Vía objectoEnPrueba = new Vía(manejadorDeMapa, número, clase, campos); ElementoDelMapa víaOriginal = (ElementoDelMapa)objectoEnPrueba.Clone(); // Nuevos valores. CampoParámetrosDeRuta nuevoCampoParámetrosDeRuta = new CampoParámetrosDeRuta( new LímiteDeVelocidad (4), new ClaseDeRuta (1), new bool[10]); #endregion // Llama al método a probar. objectoEnPrueba.CambiaCampoParámetrosDeRuta(nuevoCampoParámetrosDeRuta, "Razón"); // Prueba Propiedades. Assert.That(objectoEnPrueba.Campos, Is.EqualTo(campos), "Campos"); Assert.That(objectoEnPrueba.Clase, Is.EqualTo(clase), "Clase"); Assert.That(descripción, Is.EqualTo(objectoEnPrueba.Descripción), "Descripción"); Assert.That(objectoEnPrueba.FuéEliminado, Is.False, "FuéEliminado"); Assert.That(objectoEnPrueba.FuéModificado, Is.True, "FuéModificado"); Assert.That(objectoEnPrueba.Nombre, Is.EqualTo(nombre), "Nombre"); Assert.That(objectoEnPrueba.Número, Is.EqualTo(número), "Número"); PruebaElementoDesconocido.AseguraElementoEsEquivalente(víaOriginal, objectoEnPrueba.Original, "Original"); Assert.That(objectoEnPrueba.RazónParaEliminación, Is.EqualTo(string.Empty), "RazónParaEliminación"); Assert.That(objectoEnPrueba.Tipo, Is.EqualTo(new Tipo(tipo)), "Tipo"); Assert.That(objectoEnPrueba.CampoParámetrosDeRuta, Is.EqualTo(nuevoCampoParámetrosDeRuta), "CampoParámetrosDeRuta"); } #endregion #region Caso 3: Vía con el Mismo Campo de Parámetros de Ruta. { #region Preparación. int número = 12; ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(new EscuchadorDeEstatusPorOmisión()); string clase = "clase"; string nombre = "Nombre"; string tipo = "0xc"; string descripción = "Roundabout"; CampoParámetrosDeRuta campoParámetrosDeRuta = new CampoParámetrosDeRuta( new LímiteDeVelocidad(2), new ClaseDeRuta(3), new bool[] { true, false, false, true, true, false, true, true, false, false }); List<Campo> campos = new List<Campo> { new CampoNombre (nombre), new CampoComentario (";Comentario"), new CampoTipo (tipo), campoParámetrosDeRuta }; // Crea el objeto en prueba. Vía objectoEnPrueba = new Vía(manejadorDeMapa, número, clase, campos); #endregion // Llama al método a probar. objectoEnPrueba.CambiaCampoParámetrosDeRuta(campoParámetrosDeRuta, "Razón"); // Prueba Propiedades. Assert.That(objectoEnPrueba.Campos, Is.EqualTo(campos), "Campos"); Assert.That(objectoEnPrueba.Clase, Is.EqualTo(clase), "Clase"); Assert.That(descripción, Is.EqualTo(objectoEnPrueba.Descripción), "Descripción"); Assert.That(objectoEnPrueba.FuéEliminado, Is.False, "FuéEliminado"); Assert.That(objectoEnPrueba.FuéModificado, Is.False, "FuéModificado"); Assert.That(objectoEnPrueba.Nombre, Is.EqualTo(nombre), "Nombre"); Assert.That(objectoEnPrueba.Número, Is.EqualTo(número), "Número"); Assert.That(objectoEnPrueba.Original, Is.Null, "Original"); Assert.That(objectoEnPrueba.RazónParaEliminación, Is.EqualTo(string.Empty), "RazónParaEliminación"); Assert.That(objectoEnPrueba.Tipo, Is.EqualTo(new Tipo(tipo)), "Tipo"); Assert.That(objectoEnPrueba.CampoParámetrosDeRuta, Is.EqualTo(campoParámetrosDeRuta), "CampoParámetrosDeRuta"); } #endregion }
/// <summary> /// Constructor. /// </summary> /// <param name="laVía">La vía.</param> /// <param name="elDetalle">El detalle.</param> /// <param name="elEsPosibleError">Variable lógica que indica si el elemento es un posible error.</param> public ElementoDePosibleErrorDeRuteo(Vía laVía, string elDetalle, bool elEsPosibleError) { Vía = laVía; Detalle = elDetalle; EsPosibleError = elEsPosibleError; }