public void Comum_Deve_Retornar_Resultado_Com_Erro_Sem_Valor()
        {
            var resultado = new ResultBag("Erro", false);

            Assert.AreEqual("Erro", resultado.Message);
            Assert.AreEqual(false, resultado.IsSuccess);
        }
        public void Comum_Deve_Retornar_Resultado_Com_Sucesso_Com_Valor()
        {
            var resultado = new ResultBag <int>(true, 100);

            Assert.AreEqual(string.Empty, resultado.Message);
            Assert.AreEqual(true, resultado.IsSuccess);
            Assert.AreEqual(100, resultado.Data);
        }
        public void Comum_Deve_Retornar_Resultado_Com_Sucesso_Sem_Valor()
        {
            var resultado = new ResultBag(true);

            Assert.AreEqual(string.Empty, resultado.Message);
            Assert.AreEqual(true, resultado.IsSuccess);

            var resultadoComMsg = new ResultBag("Retornado com Sucesso!", true);

            Assert.AreEqual("Retornado com Sucesso!", resultadoComMsg.Message);
            Assert.AreEqual(true, resultadoComMsg.IsSuccess);
        }
        public void Domain_Deve_Retornar_Todos_Jogos()
        {
            var expectResult = new ResultBag <IEnumerable <JogoBasquete> >(true, _listaJogosTeste);

            _mockJogoRepository.Setup(s => s.GetJogos()).Returns(expectResult);

            var jogoService = new JogoService(_mockJogoRepository.Object);
            var result      = jogoService.GetJogos();

            _mockJogoRepository.Verify(v => v.GetJogos(), Times.Once);

            Assert.AreEqual(expectResult.Message, result.Message);
            Assert.AreEqual(expectResult.IsSuccess, result.IsSuccess);
            Assert.AreEqual(expectResult.Data, result.Data);
        }
        public void Domain_Deve_Retornar_Erro_Ao_Adicionar_Novo_Jogo()
        {
            var novoJogo     = new JogoBasquete(0, DateTime.Now, 25);
            var expectResult = new ResultBag("Erro ao adicionar novo Jogo!", false);

            _mockJogoRepository.Setup(s => s.AddJogo(It.IsAny <JogoBasquete>())).Returns(expectResult);

            var jogoService = new JogoService(_mockJogoRepository.Object);
            var result      = jogoService.AddJogo(novoJogo.DataJogo, novoJogo.QtdPontos);

            _mockJogoRepository.Verify(v => v.AddJogo(It.IsAny <JogoBasquete>()), Times.Once);

            Assert.AreEqual(expectResult.Message, result.Message);
            Assert.AreEqual(expectResult.IsSuccess, result.IsSuccess);
        }
        public void Domain_Deve_Retornar_Resultados_Dos_Jogos_Com_Sucesso_Se_Lista_Vazia()
        {
            var expectRepositoryResult = new ResultBag <IEnumerable <JogoBasquete> >(true, new List <JogoBasquete>());
            var expectServiceResult    = new ResultBag <ResultadoJogos>(expectRepositoryResult.Message, expectRepositoryResult.IsSuccess, new ResultadoJogos());

            _mockJogoRepository.Setup(s => s.GetJogos()).Returns(expectRepositoryResult);

            var jogoService = new JogoService(_mockJogoRepository.Object);
            var result      = jogoService.GetResultadoJogos();

            _mockJogoRepository.Verify(v => v.GetJogos(), Times.Once);

            Assert.AreEqual(expectServiceResult.Message, result.Message);
            Assert.AreEqual(expectServiceResult.IsSuccess, result.IsSuccess);
            Assert.AreEqual(expectRepositoryResult.Data, result.Data.JogosBasquete);
        }
        public void Domain_Deve_Retornar_Resultados_Dos_Jogos_Com_Erro()
        {
            var expectRepositoryResult = new ResultBag <IEnumerable <JogoBasquete> >("Erro ao retornar jogos!", false, new List <JogoBasquete>());

            _mockJogoRepository.Setup(s => s.GetJogos()).Returns(expectRepositoryResult);

            var jogoService = new JogoService(_mockJogoRepository.Object);
            var result      = jogoService.GetResultadoJogos();

            _mockJogoRepository.Verify(v => v.GetJogos(), Times.Once);

            Assert.AreEqual(expectRepositoryResult.Message, result.Message);
            Assert.AreEqual(expectRepositoryResult.IsSuccess, result.IsSuccess);
            Assert.IsFalse(result.Data.JogosBasquete.Any());
            Assert.AreEqual(0, result.Data.TotalPontos);
            Assert.AreEqual(0, result.Data.TotalJogos);
        }