public static void Main(string[] args) { LectorArchivo lectorArchivo = new LectorArchivo(); SeparadorColumnas separadorColumnas = new SeparadorColumnas(); ValidadorLinea validadorLinea = new ValidadorLinea(); ValidadorFecha validadorFecha = new ValidadorFecha(); ValidadorTransporte validadorTransporte = new ValidadorTransporte(); Calculador calculador = new Calculador(); ObtenedorEscala obtenedorEscala = new ObtenedorEscala(); ObtenedorDuracion obtenedorDuracion = new ObtenedorDuracion(); ObtenedorTipoEvento obtenedorTipoEvento = new ObtenedorTipoEvento(); FormateadorFuturoMensajeSingular formateadorFuturoMensajeSingular = new FormateadorFuturoMensajeSingular(); FormateadorFuturoMensajePlural formateadorFuturoMensajePlural = new FormateadorFuturoMensajePlural(); FormateadorPasadoMensajeSingular formateadorPasadoMensajeSingular = new FormateadorPasadoMensajeSingular(); FormateadorPasadoMensajePlural formateadorPasadoMensajePlural = new FormateadorPasadoMensajePlural(); formateadorFuturoMensajeSingular.SiguienteFormateador(formateadorFuturoMensajePlural); formateadorFuturoMensajePlural.SiguienteFormateador(formateadorPasadoMensajeSingular); formateadorPasadoMensajeSingular.SiguienteFormateador(formateadorPasadoMensajePlural); PobladorPedido pobladorPedido = new PobladorPedido( validadorFecha, validadorTransporte, calculador, obtenedorEscala, obtenedorDuracion, obtenedorTipoEvento); ImprimidorPantalla imprimidorPantalla = new ImprimidorPantalla(); FactoryEjecutor servicioEjecutor = new FactoryEjecutor(validadorTransporte, pobladorPedido); List <string> lineas = lectorArchivo.LeerArchivo(Path.GetFullPath("paquetes.txt")); foreach (string linea in lineas) { string[] columnas = separadorColumnas.SepararPorCaracter(linea, ','); if (validadorLinea.ValidarFormato(columnas, 6)) { IPedido pedido = pobladorPedido.PoblarPedido(columnas); servicioEjecutor.RealizarEnvios(pedido, new DateTime(2020, 01, 01)); string resultado = formateadorFuturoMensajeSingular.FormatearMensaje(pedido); imprimidorPantalla.ImprimirConsola(resultado); } } Console.ReadLine(); }
public void RealizarEnvios_LaPaqueteriaExisteYTransporteEstaDisponible_DebeCrearEmpresaRepoblarPedido(string empresa) { //Arrange _validadorTransporte.Setup(x => x.DisponibilidadTransporte(It.IsAny <TipoTransporte>(), It.IsAny <List <TipoTransporte> >())).Returns(true); IPedido pedido = new Pedido() { Empresa = empresa, TipoTransporte = TipoTransporte.Barco }; //Act _factoryEjecutor.RealizarEnvios(pedido, DateTime.Now); //Assert _pobladorPedido.Verify(x => x.RePoblarPedido(It.IsAny <IPedido>(), It.IsAny <DateTime>(), It.IsAny <int>(), It.IsAny <ITransporte>()), Times.Once); }