public void PruebaConstructor()
        {
            // Preparación.
            IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión();
            ManejadorDeMapa      manejadorDeMapa     = new ManejadorDeMapa(escuchadorDeEstatus);
            ManejadorDePdis      manejadorDePdis     = new ManejadorDePdis(manejadorDeMapa, new List <Pdi>(), escuchadorDeEstatus);

            // Llama al contructor bajo prueba.
            BuscadorDeDuplicados objectoDePrueba = new BuscadorDeDuplicados(manejadorDePdis, escuchadorDeEstatus);

            // Prueba propiedades.
            Assert.AreEqual(0, objectoDePrueba.NúmeroDeElementos, "NúmeroDeElementos");
            Assert.AreEqual(0, objectoDePrueba.NúmeroDeProblemasDetectados, "NúmeroDeProblemasDetectados");
        }
Exemple #2
0
        public void PruebaConstructor()
        {
            // Preparación.
            IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión();
            ManejadorDeMapa      manejadorDeMapa     = new ManejadorDeMapa(escuchadorDeEstatus);
            ManejadorDePDIs      manejadorDePDIs     = new ManejadorDePDIs(manejadorDeMapa, new List <PDI>(), escuchadorDeEstatus);

            // Llama al contructor bajo prueba.
            BuscadorDeDuplicados objectoDePrueba = new BuscadorDeDuplicados(manejadorDePDIs, escuchadorDeEstatus);

            // Prueba propiedades.
            Assert.That(objectoDePrueba.NúmeroDeElementoProcesándose, Is.EqualTo(0), "NúmeroDeElementoProcesándose");
            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);
              ManejadorDePDIs manejadorDePDIs = new ManejadorDePDIs(manejadorDeMapa, new List<PDI>(), escuchadorDeEstatus);

              // Llama al contructor bajo prueba.
              BuscadorDeDuplicados objectoDePrueba = new BuscadorDeDuplicados(manejadorDePDIs, escuchadorDeEstatus);

              // Prueba propiedades.
              Assert.That(objectoDePrueba.NúmeroDeElementoProcesándose, Is.EqualTo(0), "NúmeroDeElementoProcesándose");
              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);
              ManejadorDePdis manejadorDePdis = new ManejadorDePdis(manejadorDeMapa, new List<Pdi>(), escuchadorDeEstatus);

              // Llama al contructor bajo prueba.
              BuscadorDeDuplicados objectoDePrueba = new BuscadorDeDuplicados(manejadorDePdis, escuchadorDeEstatus);

              // Prueba propiedades.
              Assert.AreEqual(0, objectoDePrueba.NúmeroDeElementos, "NúmeroDeElementos");
              Assert.AreEqual(0, objectoDePrueba.NúmeroDeProblemasDetectados, "NúmeroDeProblemasDetectados");
        }
        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);
              BuscadorDeDuplicados objectoDePrueba = new BuscadorDeDuplicados(manejadorDePdis, escuchadorDeEstatus);

              // Caso de prueba.
              Caso[] casos = new[] {
            //        Tipo,     Nombre         ,  Latitud, Longitud, Indice de Duplicados   , Es Eliminado, Descripción.
            new Caso ("0x2a06", "El PUNTO"     , 10.00000, 20.00000, new[] {2,3,6,7,9}      , false       , "PDI#1"),
            new Caso ("0x2a06", "El PUNTO"     , 10.00000, 20.00000, null                   , true        , "Idéntico: Mismos nombre, tipo, y coordenada de PDI#1 : es eliminado."),
            new Caso ("0x2a05", "El PUNTO"     , 10.00000, 20.00000, null                   , false       , "Mismo tipo principal: Mismo nombre, tipo principal, y coordenada de PDI#1: es duplicado."),
            new Caso ("0x2a06", "El PUNTO"     , 10.00001, 20.00000, null                   , false       , "Cercano: Mismo nombre y tipo de PDI#1, coordenadas cercanas: es duplicado."),
            new Caso ("0x2a06", "El PUNTO"     , 10.00000, 20.02000, null                   , false       , "Lejano: Mismo nombre y tipo de PDI#1, coordenadas lejanas: no es duplicado."),
            new Caso ("0x2b06", "El PUNTO"     , 10.00000, 20.00000, null                   , false       , "Diferente tipo principal: Mismo nombre y coordenada de PDI#1, diferente tipo principal: no es duplicado."),
            new Caso ("0x2a06", "EP"           , 10.00000, 20.00000, null                   , false       , "Siglas de PDI#1, misma coordenada de PDI#1: es duplicado."),
            new Caso ("0x2a06", "EP"           , 10.00000, 20.00000, null                   , false       , "Siglas de PDI#1, coordenadas cercanas: es duplicado."),
            new Caso ("0x2a06", " EP "         , 10.00000, 20.00000, null                   , false       , "Siglas de PDI#1 con espacios en blanco, coordenadas cercanas: no es duplicado."),
            new Caso ("0x2a06", "El PUMTO"     , 10.00000, 20.00000, null                   , false       , "Nombre similar a PDI#1, coordenadas cercanas: es duplicado."),
            new Caso ("0x2a06", "EOP"          , 15.00000, 20.00000, new[] { 11 }           , false       , "PDI#2"),
            new Caso ("0x2a06", "EL OTRO PUNTO", 15.00000, 20.00000, null                   , false       , "PDI#2 es las siglas, misma coordenadas: es duplicado."),
              };
              const int númeroDeDuplicadosDetectados = 2;

              // Crea los elementos.
              IList<Pdi> elementos = 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.Nombre),
              new CampoTipo (caso.Tipo),
              new CampoCoordenadas (
            CampoCoordenadas.IdentificadorDeCoordenadas,
            0,
            new Coordenadas (caso.Latitud, caso.Longitud))
            };

            Pdi pdi = new Pdi(manejadorDeMapa, i, clase, campos);
            elementos.Add(pdi);
              }

              // Crea los duplicados.
              Dictionary<Pdi, IList<Pdi>> duplicados = new Dictionary<Pdi, IList<Pdi>>();
              for (int i = 0; i < casos.Length; ++i)
              {
            Caso caso = casos[i];
            if (caso.IndicesDeLosDuplicados != null)
            {
              List<Pdi> pdisDuplicados = new List<Pdi>();
              foreach (int j in caso.IndicesDeLosDuplicados)
              {
            pdisDuplicados.Add(elementos[j]);
              }

              Pdi pdi = elementos[i];
              duplicados.Add(pdi, pdisDuplicados);
            }
              }
              #endregion

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

              // Prueba propiedades.
              AseguraDuplicadosSonIguales(duplicados, objectoDePrueba.GruposDeDuplicados, "GruposDeDuplicados");
              Assert.AreEqual(elementos.Count, objectoDePrueba.NúmeroDeElementos, "NúmeroDeElementos");
              Assert.AreEqual(númeroDeDuplicadosDetectados, objectoDePrueba.NúmeroDeProblemasDetectados, "NúmeroDeProblemasDetectados");

              // Prueba que se hayan eliminados los PDIs idénticos.
              for (int i = 0; i < casos.Length; ++i)
              {
            Assert.AreEqual(casos[i].EsEliminado, elementos[i].FuéEliminado, "Elemento[" + i + "].FuéEliminado");
              }
        }
        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);
            BuscadorDeDuplicados objectoDePrueba     = new BuscadorDeDuplicados(manejadorDePdis, escuchadorDeEstatus);

            // Caso de prueba.
            Caso[] casos = new[] {
                //        Tipo,     Nombre         ,  Latitud, Longitud, Indice de Duplicados   , Es Eliminado, Descripción.
                new Caso("0x2a06", "El PUNTO", 10.00000, 20.00000, new[] { 2, 3, 6, 7, 9 }, false, "PDI#1"),
                new Caso("0x2a06", "El PUNTO", 10.00000, 20.00000, null, true, "Idéntico: Mismos nombre, tipo, y coordenada de PDI#1 : es eliminado."),
                new Caso("0x2a05", "El PUNTO", 10.00000, 20.00000, null, false, "Mismo tipo principal: Mismo nombre, tipo principal, y coordenada de PDI#1: es duplicado."),
                new Caso("0x2a06", "El PUNTO", 10.00001, 20.00000, null, false, "Cercano: Mismo nombre y tipo de PDI#1, coordenadas cercanas: es duplicado."),
                new Caso("0x2a06", "El PUNTO", 10.00000, 20.02000, null, false, "Lejano: Mismo nombre y tipo de PDI#1, coordenadas lejanas: no es duplicado."),
                new Caso("0x2b06", "El PUNTO", 10.00000, 20.00000, null, false, "Diferente tipo principal: Mismo nombre y coordenada de PDI#1, diferente tipo principal: no es duplicado."),
                new Caso("0x2a06", "EP", 10.00000, 20.00000, null, false, "Siglas de PDI#1, misma coordenada de PDI#1: es duplicado."),
                new Caso("0x2a06", "EP", 10.00000, 20.00000, null, false, "Siglas de PDI#1, coordenadas cercanas: es duplicado."),
                new Caso("0x2a06", " EP ", 10.00000, 20.00000, null, false, "Siglas de PDI#1 con espacios en blanco, coordenadas cercanas: no es duplicado."),
                new Caso("0x2a06", "El PUMTO", 10.00000, 20.00000, null, false, "Nombre similar a PDI#1, coordenadas cercanas: es duplicado."),
                new Caso("0x2a06", "EOP", 15.00000, 20.00000, new[] { 11 }, false, "PDI#2"),
                new Caso("0x2a06", "EL OTRO PUNTO", 15.00000, 20.00000, null, false, "PDI#2 es las siglas, misma coordenadas: es duplicado."),
            };
            const int númeroDeDuplicadosDetectados = 2;

            // Crea los elementos.
            IList <Pdi>  elementos = 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.Nombre),
                    new CampoTipo(caso.Tipo),
                    new CampoCoordenadas(
                        CampoCoordenadas.IdentificadorDeCoordenadas,
                        0,
                        new Coordenadas(caso.Latitud, caso.Longitud))
                };

                Pdi pdi = new Pdi(manejadorDeMapa, i, clase, campos);
                elementos.Add(pdi);
            }

            // Crea los duplicados.
            Dictionary <Pdi, IList <Pdi> > duplicados = new Dictionary <Pdi, IList <Pdi> >();
            for (int i = 0; i < casos.Length; ++i)
            {
                Caso caso = casos[i];
                if (caso.IndicesDeLosDuplicados != null)
                {
                    List <Pdi> pdisDuplicados = new List <Pdi>();
                    foreach (int j in caso.IndicesDeLosDuplicados)
                    {
                        pdisDuplicados.Add(elementos[j]);
                    }

                    Pdi pdi = elementos[i];
                    duplicados.Add(pdi, pdisDuplicados);
                }
            }
            #endregion

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

            // Prueba propiedades.
            AseguraDuplicadosSonIguales(duplicados, objectoDePrueba.GruposDeDuplicados, "GruposDeDuplicados");
            Assert.AreEqual(elementos.Count, objectoDePrueba.NúmeroDeElementos, "NúmeroDeElementos");
            Assert.AreEqual(númeroDeDuplicadosDetectados, objectoDePrueba.NúmeroDeProblemasDetectados, "NúmeroDeProblemasDetectados");

            // Prueba que se hayan eliminados los PDIs idénticos.
            for (int i = 0; i < casos.Length; ++i)
            {
                Assert.AreEqual(casos[i].EsEliminado, elementos[i].FuéEliminado, "Elemento[" + i + "].FuéEliminado");
            }
        }