/// <summary> /// Este método se llama antes de comenzar a procesar los elementos. /// </summary> protected override bool ComenzóAProcesar() { // Ask for the file. string file = myOpenFileDialogService.OpenFileDialog(); // Return early if the user cancels. if (string.IsNullOrEmpty(file)) { return(false); } var sourceMapManager = new ManejadorDeMapa(EscuchadorDeEstatus); var reader = new LectorDeFormatoPolish(sourceMapManager, file); mySourceElements = reader.ElementosDelMapa; return(base.ComenzóAProcesar()); }
public void PruebaConstructor() { #region Caso 1: Operación Normal { #region Preparación. // Lee un mapa de prueba. const string archivoDeEntrada = @"..\..\Data\PruebaEscritorFormatoPolish.mp"; IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus); LectorDeFormatoPolish lector = new LectorDeFormatoPolish(manejadorDeMapa, archivoDeEntrada); IList <ElementoDelMapa> elementos = lector.ElementosDelMapa; const string archivoDeSalida = @"PruebaEscritorFormatoPolish.Caso1.mp"; #endregion // Llama al constructor. new EscritorDeFormatoPolish(archivoDeSalida, elementos, escuchadorDeEstatus); #region Prueba Archivo de Salida. string[] líneasDeEntrada = LéeArchivo(archivoDeEntrada); string[] líneasDeSalida = LéeArchivo(archivoDeSalida); Assert.That(líneasDeSalida, Is.EqualTo(líneasDeEntrada), "Líneas"); #endregion } #endregion #region Caso 2: Archivo de Salida inválido. { #region Preparación. // Crea elementos. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); IList <ElementoDelMapa> elementos = new List <ElementoDelMapa>(); // Archivo inválido. const string archivoDeSalidaInválido = @"ABC::\\&AAAA"; // Excepción esperada. bool lanzóExcepción = false; ArgumentException excepciónEsperada = new ArgumentException( "The path is not of a legal form."); #endregion // Llama al constructor en prueba. try { new EscritorDeFormatoPolish(archivoDeSalidaInválido, elementos, escuchadorDeEstatus); } catch (Exception e) { // Prueba las propiedades de la excepción. Assert.That(e.GetType(), Is.EqualTo(excepciónEsperada.GetType()), "Tipo de Excepción"); Assert.That(e.Message, Is.EqualTo(excepciónEsperada.Message), "Excepción.Message"); lanzóExcepción = true; } Assert.That(lanzóExcepción, Is.True, "No se lanzó la excepción."); } #endregion #region Caso 3: Elemento con Campo Desconocido. { #region Preparación. // Crea elementos. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); IList <ElementoDelMapa> elementos = new List <ElementoDelMapa> { new ElementoDesconocido(null, 0, "Clase", new List <Campo> { new CampoDesconocido() }) }; const string archivoDeSalida = @"PruebaEscritorFormatoPolish.Caso3.mp"; // Excepción esperada. bool lanzóExcepción = false; ArgumentException excepciónEsperada = new ArgumentException( "Campo desconocido: GpsYv.ManejadorDeMapa.Pruebas.PruebaEscritorFormatoPolish+CampoDesconocido"); #endregion // Llama al constructor en prueba. try { new EscritorDeFormatoPolish(archivoDeSalida, elementos, escuchadorDeEstatus); } catch (Exception e) { // Prueba las propiedades de la excepción. Assert.That(e.GetType(), Is.EqualTo(excepciónEsperada.GetType()), "Tipo de Excepción"); Assert.That(e.Message, Is.EqualTo(excepciónEsperada.Message), "Excepción.Message"); lanzóExcepción = true; } Assert.That(lanzóExcepción, Is.True, "No se lanzó la excepción."); } #endregion }
public void PruebaConstructor() { #region Caso 1: Operación Normal { #region Preparación. // Lee un mapa de prueba. const string archivoDeEntrada = @"..\..\Data\PruebaEscritorFormatoPolish.mp"; IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); ManejadorDeMapa manejadorDeMapa = new ManejadorDeMapa(escuchadorDeEstatus); LectorDeFormatoPolish lector = new LectorDeFormatoPolish(manejadorDeMapa, archivoDeEntrada); IList<ElementoDelMapa> elementos = lector.ElementosDelMapa; const string archivoDeSalida = @"PruebaEscritorFormatoPolish.Caso1.mp"; #endregion // Llama al constructor. new EscritorDeFormatoPolish(archivoDeSalida, elementos, escuchadorDeEstatus); #region Prueba Archivo de Salida. string[] líneasDeEntrada = LéeArchivo(archivoDeEntrada); string[] líneasDeSalida = LéeArchivo(archivoDeSalida); Assert.That(líneasDeSalida, Is.EqualTo(líneasDeEntrada), "Líneas"); #endregion } #endregion #region Caso 2: Archivo de Salida inválido. { #region Preparación. // Crea elementos. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); IList<ElementoDelMapa> elementos = new List<ElementoDelMapa>(); // Archivo inválido. const string archivoDeSalidaInválido = @"ABC::\\&AAAA"; // Excepción esperada. bool lanzóExcepción = false; ArgumentException excepciónEsperada = new ArgumentException( "The path is not of a legal form."); #endregion // Llama al constructor en prueba. try { new EscritorDeFormatoPolish(archivoDeSalidaInválido, elementos, escuchadorDeEstatus); } catch (Exception e) { // Prueba las propiedades de la excepción. Assert.That(e.GetType(), Is.EqualTo(excepciónEsperada.GetType()), "Tipo de Excepción"); Assert.That(e.Message, Is.EqualTo(excepciónEsperada.Message), "Excepción.Message"); lanzóExcepción = true; } Assert.That(lanzóExcepción, Is.True, "No se lanzó la excepción."); } #endregion #region Caso 3: Elemento con Campo Desconocido. { #region Preparación. // Crea elementos. IEscuchadorDeEstatus escuchadorDeEstatus = new EscuchadorDeEstatusPorOmisión(); IList<ElementoDelMapa> elementos = new List<ElementoDelMapa> { new ElementoDesconocido(null, 0, "Clase", new List<Campo> { new CampoDesconocido() })}; const string archivoDeSalida = @"PruebaEscritorFormatoPolish.Caso3.mp"; // Excepción esperada. bool lanzóExcepción = false; ArgumentException excepciónEsperada = new ArgumentException( "Campo desconocido: GpsYv.ManejadorDeMapa.Pruebas.PruebaEscritorFormatoPolish+CampoDesconocido"); #endregion // Llama al constructor en prueba. try { new EscritorDeFormatoPolish(archivoDeSalida, elementos, escuchadorDeEstatus); } catch (Exception e) { // Prueba las propiedades de la excepción. Assert.That(e.GetType(), Is.EqualTo(excepciónEsperada.GetType()), "Tipo de Excepción"); Assert.That(e.Message, Is.EqualTo(excepciónEsperada.Message), "Excepción.Message"); lanzóExcepción = true; } Assert.That(lanzóExcepción, Is.True, "No se lanzó la excepción."); } #endregion }