public void SorteadorComRandom_Deve_Ter_NumeroMinimo_0()
 {
     // Arrange
     int minimoParaSorteio = 0;
     // Act
     SorteadorComRandom sorteador = new SorteadorComRandom(maximo: 99);
     // Assert
     Assert.AreEqual(minimoParaSorteio, sorteador.NumeroMinimo);
 }
 public void Criar_SorteadorComRandom_Com_NumeroMaximo_Para_Sorteio()
 {
     // Arrange
     int maximoParaSorteio = 99;
     // Act
     SorteadorComRandom sorteador = new SorteadorComRandom(maximoParaSorteio);
     // Assert
     Assert.AreEqual(maximoParaSorteio, sorteador.NumeroMaximo);
 }
 public void Criar_SorteadorComRandom_Com_NumeroMaximo_Negativa_Deve_Lancar_Excecao()
 {
     // Arrange
     int maximoParaSorteio = -88;
     // Act
     SorteadorComRandom sorteador = new SorteadorComRandom(maximoParaSorteio);
     // Assert
     Assert.AreEqual(maximoParaSorteio, sorteador.NumeroMaximo);
 }
 public void Sortear_Numero_Entre_0_e_Maximo()
 {
     // Arrange
     int maximoParaSorteio = 99;
     SorteadorComRandom sorteador = new SorteadorComRandom(maximoParaSorteio);
     // Act
     int numeroSorteado = sorteador.Sortear();
     // Assert
     Assert.IsTrue(numeroSorteado >= 0 && numeroSorteado < 99);
 }
        public EncontroPresencialTDD(string nome, IEnumerable<string> listaPresenca, int qtdeBrindes, DateTime data = default(DateTime), SorteadorComRandom sorteador = default(SorteadorComRandom))
        {
            if (nome == null)
                throw new ArgumentNullException("Nome do evento deve ser informado!");

            if (listaPresenca == null)
                throw new ArgumentNullException("Lista de presenças deve ser informada!");

            if (qtdeBrindes < 0)
                throw new ArgumentOutOfRangeException("Quantidade de brindes não pode ser negativa!");

            this.Nome = nome;
            this.listaPresenca = listaPresenca.ToList();
            this.Data = data != default(DateTime) ? data : DateTime.Today;
            this.QtdeBrindes = qtdeBrindes;
            this.Sorteador = sorteador;
            this.numerosJaSorteados = new List<int>();
        }
 public void EncontroPresencial_Com_Sorteador_Pode_Sortear()
 {
     // Assert
     string nomeEvento = "1o Evento DevRs.Net 2013";
     var listaPresenca = new[] { "Participante1", "Participante2" };
     DateTime data = new DateTime(2013, 03, 26);
     int qtdeBrindes = 6;
     var sorteador = new SorteadorComRandom(maximo: listaPresenca.Length);
     // Act
     EncontroPresencialTDD encontro = new EncontroPresencialTDD(nomeEvento, listaPresenca, qtdeBrindes, data, sorteador);
     string sorteado = encontro.Sortear();
     // Assert
     Assert.AreEqual(expected: sorteador, actual: encontro.Sorteador);
 }