public void Sortear_Brinde_Com_Participante_Que_Ja_Venceu_Deve_Retornar_Vazio()
 {
     // Assert
     string nomeEvento = "1o Evento DevRs.Net 2013";
     var listaPresenca = new[] { "Participante1" };
     DateTime data = new DateTime(2013, 03, 26);
     int qtdeBrindes = 6;
     EncontroPresencialTDD encontro = new EncontroPresencialTDD(nomeEvento, listaPresenca, qtdeBrindes, data, new SorteadorComRandom(maximo: listaPresenca.Length));
     // Act
     string sorteado1 = encontro.Sortear();
     // Forçando sorteio com o mesmo participante
     string sorteado2 = encontro.Sortear();
     // Assert
     Assert.AreEqual(expected: listaPresenca.ElementAt(0), actual: sorteado1);
     Assert.AreEqual(expected: String.Empty, actual: sorteado2);
 }
 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);
 }
 public void Sortear_Deve_Diminuir_Qtde_Brindes()
 {
     // Assert
     string nomeEvento = "1o Evento DevRs.Net 2013";
     var listaPresenca = new[] { "Participante1", "Participante2" };
     DateTime data = new DateTime(2013, 03, 26);
     int qtdeBrindes = 6;
     EncontroPresencialTDD encontro = new EncontroPresencialTDD(nomeEvento, listaPresenca, qtdeBrindes, data, new SorteadorComRandom(maximo: listaPresenca.Length));
     // Act
     string sorteado = encontro.Sortear();
     // Assert
     Assert.AreEqual(expected: qtdeBrindes - 1, actual: encontro.QtdeBrindes);
 }
 public void Sortear_Deve_Retornar_Um_Dos_Participantes()
 {
     // Assert
     string nomeEvento = "1o Evento DevRs.Net 2013";
     var listaPresenca = new[] { "Participante1", "Participante2", "Participante 3", "Participante 4" };
     DateTime data = new DateTime(2013, 03, 26);
     int qtdeBrindes = 6;
     EncontroPresencialTDD encontro = new EncontroPresencialTDD(nomeEvento, listaPresenca, qtdeBrindes, data, new SorteadorComRandom(maximo: listaPresenca.Length));
     // Act
     string sorteado = encontro.Sortear();
     // Assert
     CollectionAssert.Contains(listaPresenca, sorteado);
 }
 public void Sortear_Com_Apenas_Um_Participante_Deve_Retornar_O_Proprio()
 {
     // Assert
     string nomeEvento = "1o Evento DevRs.Net 2013";
     var listaPresenca = new[] { "Participante1" };
     DateTime data = new DateTime(2013, 03, 26);
     int qtdeBrindes = 6;
     EncontroPresencialTDD encontro = new EncontroPresencialTDD(nomeEvento, listaPresenca, qtdeBrindes, data, new SorteadorComRandom(maximo: listaPresenca.Length));
     // Act
     string sorteado = encontro.Sortear();
     // Assert
     Assert.AreEqual(expected: listaPresenca.ElementAt(0), actual: sorteado);
 }