public void DeveInformarNotaDoAluno()
        {
            const double notaDoAlunoEsperada = 8;
            var          matricula           = MatriculaBuilder.Novo().Build();

            _matriculaRepositorio.Setup(r => r.ObterPorId(matricula.Id)).Returns(matricula);

            _conclusaoDaMatricula.Concluir(matricula.Id, notaDoAlunoEsperada);

            Assert.Equal(notaDoAlunoEsperada, matricula.NotaDoAluno);
        }
        public void DeveInformarNotaDoAluno()
        {
            #region Arrange
            var notaDoAlunoEsperada  = 8;
            var matricula            = MatriculaBuilder.Novo().Build();
            var conclusaoDaMatricula = new ConclusaoDaMatricula(_mockMatriculaRepositorio.Object);

            _mockMatriculaRepositorio
            .Setup(r => r.ObterPorId(matricula.Id))
            .Returns(matricula);
            #endregion

            #region Act
            conclusaoDaMatricula.Concluir(matricula.Id, notaDoAlunoEsperada);
            #endregion

            #region Assert
            Assert.Equal(notaDoAlunoEsperada, matricula.NotaDoAluno);
            #endregion
        }
        public void DeveNotificarQuandoMatriculaNaoEncontrada()
        {
            #region Arrange
            Matricula matriculaInvalida   = null;
            var       matriculaIdInvalida = 1;
            var       notaDoAluno         = 2;

            _mockMatriculaRepositorio
            .Setup(r => r.ObterPorId(matriculaIdInvalida))
            .Returns(matriculaInvalida);
            #endregion

            #region Act
            Action act = () => _conclusaoDaMatricula.Concluir(matriculaIdInvalida, notaDoAluno);
            #endregion

            #region Assert
            Assert.Throws <ExcecaoDeDominio>(act)
            .ComMensagem(Resource.MatriculaNaoEncontrada);
            #endregion
        }