public void ComputadorService_DesativarComputadorNaoLiberado_RetornarException()
        {
            // Arrange
            var computador = new Computador("C001", "A01");

            computador.Ocorrencias.Add(Ocorrencia.OcorrenciaFabrica.PrimeiraOcorrencia());
            var repositorio = new Mock <IComputadorRepositorio>();

            repositorio.Setup(x => x.Desativar(computador))
            .Throws(new ComputadorEmUsoException("Não é possível desativar um computador em uso!"));
            var servico = new ComputadorServico(repositorio.Object);

            // Act & Assert
            var ex = Assert.Throws <ComputadorEmUsoException>(() => servico.Desativar(computador));

            Assert.NotNull(ex);
            Assert.Equal("Não é possível desativar um computador em uso!", ex.Message);
        }
        public void ComputadorService_DesativarComputador_VerificarOcorrencia()
        {
            // Arrange
            var computador = new Computador("C001", "A01");

            computador.Ocorrencias.Add(Ocorrencia.OcorrenciaFabrica.PrimeiraOcorrencia());
            var repositorio = new Mock <IComputadorRepositorio>();

            repositorio.Setup(x => x.Desativar(computador));
            var servico = new ComputadorServico(repositorio.Object);

            // Act
            servico.Desativar(computador);

            // Assert
            Assert.Equal("Computador Desativado".ToUpper(), computador.PegarUltimaOcorrencia().Descricao);
            Assert.Equal(false, computador.PegarUltimaOcorrencia().Liberado);
            Assert.True(!computador.Ativo);
        }