Ejemplo n.º 1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public InterfaseDePdisConErrores()
        {
            InitializeComponent();

            // Asigna los campos.
            miLista = miInterfaseListaConMapaDePdis.InterfaseListaDePdis;
            miMapa  = miInterfaseListaConMapaDePdis.InterfaseMapaDePdisSeleccionados;
            miMenú  = miInterfaseListaConMapaDePdis.MenuEditorDePdis;

            // Pone el método llenador de items.
            miLista.PoneLlenadorDeItems(LlenaItems);

            // Escucha el evento de edición de PDIs.
            miMenú.Editó += delegate
            {
                // Borra los puntos adicionales que estén en el mapa.
                miMapa.PuntosAddicionales.Clear();

                // Busca errores otra vez.
                miBuscadorDeErrores.Procesa();
            };

            // Añade el menú para ignorar que el PDI no tenga coordenadas a nivel zero.
            miInterfaseListaConMapaDePdis.MenuEditorDePdis.Items.Add(new ToolStripSeparator());
            var menú1 = new ToolStripMenuItem(Properties.Recursos.InterfaseDePdisConErroresMenuIgnorarPdiNoCoordenadasANivel0);

            menú1.Click += ((s, e) => AñadeAttributo(
                                menú1.Text,
                                Properties.Recursos.InterfaseDePdisConErroresPreguntaIgnorarPdiNoCoordenadasANivel0,
                                BuscadorDeErrores.AtributoIgnorarNoCoordenadasNivel0));
            miInterfaseListaConMapaDePdis.MenuEditorDePdis.Items.Add(menú1);

            // Añade el menú para ignorar que el PDI de Ciudad no tenga campos City=Y o CityIdx.
            var menú2 = new ToolStripMenuItem(Properties.Recursos.InterfaseDePdisConErroresMenuIgnorarPdiCiudadNoCamposCityOCityIdx);

            menú2.Click += ((s, e) => AñadeAttributo(
                                menú2.Text,
                                Properties.Recursos.InterfaseDePdisConErroresPreguntaIgnorarPdiCiudadNoCamposCityOCityIdx,
                                BuscadorDeErrores.AtributoIgnorarCamposCityYCityIdx));
            miInterfaseListaConMapaDePdis.MenuEditorDePdis.Items.Add(menú2);
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        public InterfaseDeViasConErrores()
        {
            InitializeComponent();

            // Pone el llenador de items.
            miInterfaseListaConMapaDeVías.InterfaseListaDeVías.PoneLlenadorDeItems(LlenaItems);

            // Escucha el evento de edición de Vías.
            miInterfaseListaConMapaDeVías.MenuEditorDeVías.Editó += ((elObjecto, losArgumentos) =>
            {
                // Busca errores otra vez.
                miBuscadorDeErrores.Procesa();
            });
        }
Ejemplo n.º 3
0
        public void PruebaProcesaCaso1()
        {
            #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);
            var objectoDePrueba = new BuscadorDeErrores(manejadorDePdis, escuchadorDeEstatus);

            // Crea los elementos.
            IList <Pdi>  pdis             = manejadorDePdis.Elementos;
            const string clase            = "POI";
            var          campoCoordenadas = new CampoCoordenadas("Data", 0, new[]
            {
                new Coordenadas(10.16300, -66.00000),
                new Coordenadas(10.16199, -65.99850),
                new Coordenadas(10.16010, -65.99591),
            });

            var pdiNoCiudad = new Pdi(manejadorDeMapa, 1, clase, new List <Campo> {
                new CampoTipo("0x001"),
                campoCoordenadas
            });
            pdis.Add(pdiNoCiudad);

            var pdiCiudadCorrecta = new Pdi(manejadorDeMapa, 1, clase, new List <Campo> {
                new CampoTipo("0xb00"),
                new CampoEsCiudad(true),
                new CampoIndiceDeCiudad(79),
                campoCoordenadas
            });
            pdis.Add(pdiCiudadCorrecta);

            var pdiSinCampoEsCiudad = new Pdi(manejadorDeMapa, 1, clase, new List <Campo> {
                new CampoTipo("0xc00"),
                new CampoIndiceDeCiudad(79),
                campoCoordenadas
            });
            pdis.Add(pdiSinCampoEsCiudad);

            var pdiSinIndiceDeCiudad = new Pdi(manejadorDeMapa, 1, clase, new List <Campo> {
                new CampoTipo("0xd00"),
                new CampoEsCiudad(true),
                campoCoordenadas
            });
            pdis.Add(pdiSinIndiceDeCiudad);

            var pdiSinIndiceDeCiudadYConAttributo = new Pdi(manejadorDeMapa, 1, clase, new List <Campo> {
                new CampoTipo("0xf00"),
                new CampoAtributo(BuscadorDeErrores.AtributoIgnorarCamposCityYCityIdx),
                campoCoordenadas
            });
            pdis.Add(pdiSinIndiceDeCiudadYConAttributo);

            var pdiSinIndiceDeCiudadYSinCampoEsCiudad = new Pdi(manejadorDeMapa, 1, clase, new List <Campo> {
                new CampoTipo("0xe00"),
                campoCoordenadas
            });
            pdis.Add(pdiSinIndiceDeCiudadYSinCampoEsCiudad);

            // Deberian haber 3 errores:
            //   - 1 por el PDI sin campo de Ciudad.
            //   - 1 por el PDI sin índice de Ciudad.
            //   - 2 por el PDI sin campo de Ciudad y sin índice de Ciudad.
            const int númeroDeProblemasDetectados = 4;
            #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");
            Assert.That(objectoDePrueba.Errores.Count, Is.EqualTo(númeroDeProblemasDetectados), "Errores.Count");

            Assert.That(
                objectoDePrueba.Errores[pdiSinCampoEsCiudad],
                Text.StartsWith("E004"),
                "Errores[pdiSinCampoEsCiudad]");

            Assert.That(
                objectoDePrueba.Errores[pdiSinIndiceDeCiudad],
                Text.StartsWith("E005"),
                "Errores[pdiSinIndiceDeCiudad]");

            Assert.That(
                objectoDePrueba.Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad],
                Text.StartsWith("E004"),
                "Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad]");

            Assert.That(
                objectoDePrueba.Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad],
                Text.Contains("E005"),
                "Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad]");

            Assert.That(
                objectoDePrueba.Errores.ContainsKey(pdiSinIndiceDeCiudadYConAttributo),
                Is.False,
                "Errores.ContainsKey(pdiSinIndiceDeCiudadYConAttributo)");

            Assert.That(
                objectoDePrueba.Errores.ContainsKey(pdiCiudadCorrecta),
                Is.False,
                "Errores.ContainsKey(pdiCiudadCorrecta)");
        }
Ejemplo n.º 4
0
        public void PruebaProcesaCaso1()
        {
            #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);
              var objectoDePrueba = new BuscadorDeErrores(manejadorDePdis, escuchadorDeEstatus);

              // Crea los elementos.
              IList<Pdi> pdis = manejadorDePdis.Elementos;
              const string clase = "POI";
              var campoCoordenadas = new CampoCoordenadas("Data", 0, new[]
            {
              new Coordenadas(10.16300,-66.00000),
              new Coordenadas(10.16199,-65.99850),
              new Coordenadas(10.16010,-65.99591),
            });

              var pdiNoCiudad = new Pdi(manejadorDeMapa, 1, clase, new List<Campo> {
            new CampoTipo("0x001"),
            campoCoordenadas});
              pdis.Add(pdiNoCiudad);

              var pdiCiudadCorrecta = new Pdi(manejadorDeMapa, 1, clase, new List<Campo> {
            new CampoTipo("0xb00"),
            new CampoEsCiudad(true),
            new CampoIndiceDeCiudad(79),
            campoCoordenadas});
              pdis.Add(pdiCiudadCorrecta);

              var pdiSinCampoEsCiudad = new Pdi(manejadorDeMapa, 1, clase, new List<Campo> {
            new CampoTipo("0xc00"),
            new CampoIndiceDeCiudad(79),
            campoCoordenadas});
              pdis.Add(pdiSinCampoEsCiudad);

              var pdiSinIndiceDeCiudad = new Pdi(manejadorDeMapa, 1, clase, new List<Campo> {
            new CampoTipo("0xd00"),
            new CampoEsCiudad(true),
            campoCoordenadas});
              pdis.Add(pdiSinIndiceDeCiudad);

              var pdiSinIndiceDeCiudadYConAttributo = new Pdi(manejadorDeMapa, 1, clase, new List<Campo> {
            new CampoTipo("0xf00"),
            new CampoAtributo(BuscadorDeErrores.AtributoIgnorarCamposCityYCityIdx),
            campoCoordenadas});
              pdis.Add(pdiSinIndiceDeCiudadYConAttributo);

              var pdiSinIndiceDeCiudadYSinCampoEsCiudad = new Pdi(manejadorDeMapa, 1, clase, new List<Campo> {
            new CampoTipo("0xe00"),
            campoCoordenadas});
              pdis.Add(pdiSinIndiceDeCiudadYSinCampoEsCiudad);

              // Deberian haber 3 errores:
              //   - 1 por el PDI sin campo de Ciudad.
              //   - 1 por el PDI sin índice de Ciudad.
              //   - 2 por el PDI sin campo de Ciudad y sin índice de Ciudad.
              const int númeroDeProblemasDetectados = 4;
              #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");
              Assert.That(objectoDePrueba.Errores.Count, Is.EqualTo(númeroDeProblemasDetectados), "Errores.Count");

              Assert.That(
            objectoDePrueba.Errores[pdiSinCampoEsCiudad],
            Text.StartsWith("E004"),
            "Errores[pdiSinCampoEsCiudad]");

              Assert.That(
            objectoDePrueba.Errores[pdiSinIndiceDeCiudad],
            Text.StartsWith("E005"),
            "Errores[pdiSinIndiceDeCiudad]");

              Assert.That(
               objectoDePrueba.Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad],
               Text.StartsWith("E004"),
               "Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad]");

              Assert.That(
               objectoDePrueba.Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad],
               Text.Contains("E005"),
               "Errores[pdiSinIndiceDeCiudadYSinCampoEsCiudad]");

              Assert.That(
               objectoDePrueba.Errores.ContainsKey(pdiSinIndiceDeCiudadYConAttributo),
               Is.False,
               "Errores.ContainsKey(pdiSinIndiceDeCiudadYConAttributo)");

              Assert.That(
               objectoDePrueba.Errores.ContainsKey(pdiCiudadCorrecta),
               Is.False,
               "Errores.ContainsKey(pdiCiudadCorrecta)");
        }