コード例 #1
0
        public void PruebaProcesa()
        {
            #region Preparación.
            // Crea el objeto a probar.
            IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión();
            ManejadorDeMapa      manejadorDeMapa     = new ManejadorDeMapa(escuchadorDeEstatus);
            ManejadorDePdis      manejadorDePdis     = new ManejadorDePdis(manejadorDeMapa, new List <Pdi>(), escuchadorDeEstatus);
            ArregladorGeneral    objectoDePrueba     = new ArregladorGeneral(manejadorDePdis, escuchadorDeEstatus);

            // Caso de prueba.
            Caso[] casos = new[] {
                //        Tipo,     Nombre Original, Nombre Corregido
                new Caso("0x2a06", "RES LA COMIDA", "RESTAURANTE LA COMIDA"),                 // Cambia Nombre.
                new Caso("0x2a07", "RES  LA  COMIDA", "RESTAURANTE LA COMIDA"),               // Cambia nombre y elimina espacios.
                new Caso("0x9999", "RES LA COMIDA", "RES LA COMIDA"),                         // Este no debería cambiar porque el tipo no está en el rango.
                new Caso("0x6402", "CONJ RES LAS TORRES", "CONJUNTO RESIDENCIAL LAS TORRES"), // Cambia Nombre.
            };
            const int númeroDeProblemasDetectados = 6;

            // Crea los elementos.
            IList <Pdi>  pdis  = manejadorDePdis.Elementos;
            const string clase = "POI";
            for (int i = 0; i < casos.Length; ++i)
            {
                Caso         caso   = casos[i];
                List <Campo> campos = new List <Campo> {
                    new CampoNombre(caso.NombreOriginal),
                    new CampoTipo(caso.Tipo)
                };

                Pdi pdi = new Pdi(manejadorDeMapa, i, clase, campos);
                pdis.Add(pdi);
            }
            #endregion

            // Llama al método bajo prueba.
            objectoDePrueba.Procesa();

            // Prueba propiedades.
            Assert.That(objectoDePrueba.NúmeroDeElementos, Is.EqualTo(pdis.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(pdis[i].Nombre, Is.EqualTo(casos[i].NombreCorregido), "PDI[" + i + "].Nombre");
            }
        }
コード例 #2
0
        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");
              }
        }
コード例 #3
0
        public void PruebaProcesa()
        {
            #region Preparación.
              // Crea el objeto a probar.
              IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión();
              ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus);
              ManejadorDePdis manejadorDePdis = new ManejadorDePdis(manejadorDeMapa, new List<Pdi>(), escuchadorDeEstatus);
              ArregladorGeneral objectoDePrueba = new ArregladorGeneral(manejadorDePdis, escuchadorDeEstatus);

              // Caso de prueba.
              Caso[] casos = new[] {
            //        Tipo,     Nombre Original, Nombre Corregido
            new Caso ("0x2a06", "RES LA COMIDA", "RESTAURANTE LA COMIDA"), // Cambia Nombre.
            new Caso ("0x2a07", "RES  LA  COMIDA", "RESTAURANTE LA COMIDA"), // Cambia nombre y elimina espacios.
            new Caso ("0x9999", "RES LA COMIDA", "RES LA COMIDA"),  // Este no debería cambiar porque el tipo no está en el rango.
            new Caso ("0x6402", "CONJ RES LAS TORRES", "CONJUNTO RESIDENCIAL LAS TORRES"), // Cambia Nombre.
              };
              const int númeroDeProblemasDetectados = 6;

              // Crea los elementos.
              IList<Pdi> pdis = manejadorDePdis.Elementos;
              const string clase = "POI";
              for (int i = 0; i < casos.Length; ++i)
              {
            Caso caso = casos[i];
            List<Campo> campos = new List<Campo> {
              new CampoNombre (caso.NombreOriginal),
              new CampoTipo (caso.Tipo)
            };

            Pdi pdi = new Pdi(manejadorDeMapa, i, clase, campos);
            pdis.Add(pdi);
              }
              #endregion

              // Llama al método bajo prueba.
              objectoDePrueba.Procesa();

              // Prueba propiedades.
              Assert.That(objectoDePrueba.NúmeroDeElementos, Is.EqualTo(pdis.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(pdis[i].Nombre, Is.EqualTo(casos[i].NombreCorregido), "PDI[" + i + "].Nombre");
              }
        }
コード例 #4
0
        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");
            }
        }