コード例 #1
0
        public void Gera_erro_se_email_estiver_errado(Action criacao, Exception excecaoEsperada)
        {
            "Dada uma operação de criação de um email"
            .Given(() => criacao = () => Contacto.CriaEmail("123ddd123"));

            "Quando a executarmos"
            .When(() => {
                try {
                    criacao();
                }
                catch (Exception e) {
                    excecaoEsperada = e;
                }
            });

            "A sua execução deve gerar erro"
            .Then(() => Assert.NotNull(excecaoEsperada));
        }
コード例 #2
0
        public void Cria_telefone_se_Email_estiver_certo(Action criacao, Exception excecaoEsperada)
        {
            "Dada uma operação de criação de um email"
            .Given(() => criacao = () => Contacto.CriaEmail("*****@*****.**"));

            "Quando a executarmos"
            .When(() => {
                try {
                    criacao();
                }
                catch (Exception e) {
                    excecaoEsperada = e;
                }
            });

            "A sua execução deve gerar erro"
            .Then(() => Assert.Null(excecaoEsperada));
        }
コード例 #3
0
        public void Funciona_corretamente_mesmo_com_contactos_inexistentes(Funcionario funcionario, ModificaContactosFuncionario comando)
        {
            "Dado um funcionário existente"
            .Given(() => funcionario = Funcionario.CriaNovo(new CriaFuncionario("Luis", "123456789", new TipoFuncionario(1, "Docente"), new[] { Contacto.CriaExtensao("1234") }, 1)));

            "e um comando de modificação"
            .And(() => comando = new ModificaContactosFuncionario(1, 1, new Contacto[] { Contacto.CriaEmail("*****@*****.**"), Contacto.CriaExtensao("1234") }, null));

            "Quando aplicamos o comando"
            .When(() => funcionario.Modifica(comando));

            "Então devemos obter os novos contactos na lista de contactos"
            .Then(() => funcionario.Contactos.Should().NotContain(comando.ContactosRemover));
        }
コード例 #4
0
        public void Nao_funciona_com_versoes_diferentes(Funcionario funcionario, ModificaContactosFuncionario comando, Exception excecaoEsperada)
        {
            "Dado um funcionário existente"
            .Given(() => funcionario = Funcionario.CriaNovo(new CriaFuncionario("Luis", "123456789", new TipoFuncionario(1, "Docente"), new[] { Contacto.CriaExtensao("1234") })));

            "e um comando de modificação"
            .And(() => comando = new ModificaContactosFuncionario(1, 1, new Contacto[] { Contacto.CriaEmail("*****@*****.**"), Contacto.CriaExtensao("1234") }, null));

            "Quando aplicamos o comando"
            .When(() => {
                try {
                    funcionario.Modifica(comando);
                }
                catch (Exception ex) {
                    excecaoEsperada = ex;
                }
            });

            "Então devemos obter uma exceção"
            .Then(() => Assert.IsType <InvalidOperationException>(excecaoEsperada));
        }
コード例 #5
0
        public void Nao_duplica_contactos(Funcionario funcionario, ModificaContactosFuncionario comando)
        {
            "Dado um funcionário existente"
            .Given(() => funcionario = Funcionario.CriaNovo(new CriaFuncionario("Luis", "123456789", new TipoFuncionario(1, "Docente"), new[] { Contacto.CriaTelefone("123123123") }, 1)));

            "e um comando de modificação"
            .And(() => comando = new ModificaContactosFuncionario(1, 1, null, new Contacto[] { Contacto.CriaEmail("*****@*****.**"), Contacto.CriaTelefone("123123123") }));

            "Quando aplicamos o comando"
            .When(() => funcionario.Modifica(comando));

            "Então devemos obter os novos contactos na lista de contactos"
            .Then(() => funcionario.Contactos.Should().HaveCount(2).And.Contain(comando.ContactosAdicionar));
        }