예제 #1
0
        public void Deve_registrar_a_entrada_de_um_veiculo()
        {
            //arrange
            var placaPadrao = "NHC 3030";
            IServicoDeEstacionamento servicoDeEstacionamento = new Condutor();
            IProvedorDoTempo         provedorDoTempo         = new ProvedorDataHoraSistema();

            //act
            var ticket = RegistroDeEntrada.Criar(provedorDoTempo, servicoDeEstacionamento, placaPadrao);

            //assert
            var veiculoEsperado = new FabricaDeVeiculo().ComAPlacaPadrao().Criar();

            Assert.NotNull(ticket);
            Assert.Equal(veiculoEsperado, ticket.Veiculo);
        }
예제 #2
0
        public void Deve_criar_um_ticket_para_o_estacionamento_de_um_veiculo()
        {
            //arrange
            var placaPadrao = "NHC 3030";
            IServicoDeEstacionamento servicoDeEstacionamento = new Condutor();
            Veiculo          veiculo         = servicoDeEstacionamento.Estacionar(placaPadrao);
            IProvedorDoTempo provedorDoTempo = new ProvedorDataHoraSistema();
            var ticket = new Ticket(provedorDoTempo);

            //act
            ticket.Entrada(veiculo);

            //assert
            var veiculoEsperado  = new FabricaDeVeiculo().ComAPlacaPadrao().Criar();
            var dataHoraEspedada = new SimuladorDeDataHoraDoSistema {
                DataHora = ticket.DataHoraDeEntrada
            };

            Assert.Equal(veiculoEsperado, ticket.Veiculo);
            Assert.Equal(dataHoraEspedada.DataHora, ticket.DataHoraDeEntrada);
            Assert.True(!ticket.Valido());
        }