Пример #1
0
 public ArmaBuilder()
 {
     _nome = "P90";
     _tipo = TiposDeArmas.SMG;
     _quantidadeDeBalasNoPente          = 100;
     _quantidadeDeBalasRestantesNoPente = 0;
 }
Пример #2
0
        public void Nao_deve_criar_uma_arma_com_tipo_invalido(TiposDeArmas tipoInvalido)
        {
            const string mensagemEsperada = "É necessário informar um tipo válido para a arma.";

            void Acao() => new Arma(_nome, tipoInvalido, _quantidadeDeBalasNoPente);

            Assert.Throws <ExcecaoDeDominio <Arma> >(Acao).ComMensagem(mensagemEsperada);
        }
Пример #3
0
        public Arma(string nomeDaArma, TiposDeArmas tipo, int quantidadeDeBalasNoPente)
        {
            ValidarInformacoes(nomeDaArma, tipo, quantidadeDeBalasNoPente);

            Nome = nomeDaArma;
            Tipo = tipo;
            QuantidadeDeBalasNoPente          = quantidadeDeBalasNoPente;
            QuantidadeDeBalasRestantesNoPente = 0;
        }
Пример #4
0
        private static void ValidarInformacoes(string nomeDaArma, TiposDeArmas tipo, int quantidadeDeBalasNoPente)
        {
            var tipoEstaDefinido = Enum.IsDefined(typeof(TiposDeArmas), tipo);

            Validacoes <Arma> .Criar()
            .Obrigando(nomeDaArma, "É necessário informar um nome válido para a arma.")
            .Quando(!tipoEstaDefinido, "É necessário informar um tipo válido para a arma.")
            .Quando(quantidadeDeBalasNoPente < 0, "É necessário informar uma quantidade válidade de balas no pente.")
            .DispararSeHouverErros();
        }
Пример #5
0
 public ArmaTeste()
 {
     _tipoDaArma = TiposDeArmas.SMG;
     _nome       = "P90";
     _quantidadeDeBalasNoPente = 100;
 }
Пример #6
0
 public ArmaBuilder ComTipo(TiposDeArmas tipo)
 {
     _tipo = tipo;
     return(this);
 }