public bool Recebe(Voto voto) { var jaVotou = _votos.ObterVoto(voto.Profissional, voto.Data); if(jaVotou != null) throw new ApplicationException("Proficional já votou na data corrente."); _votos.Adicionar(voto); return true; }
public void DeveVotarUmaUnicaVezNoDia() { // Criar senário var dariano = new Profissional("Dariano"); var maza = new Restaurante("maza"); var voto = new Voto(dariano, maza); _votosMock.Setup(v => v.Adicionar(voto)); _votosMock.Setup(v => v.ObterVoto(It.IsAny<Profissional>(), It.IsAny<DateTime>())).Returns(new Voto(dariano, maza)); // Executa uma ação var urna = new UrnaService(_votosMock.Object); urna.Recebe(voto); }
public void DeveVotarNoSeuRestauranteFavorito() { // Criar senário var dariano = new Profissional("Dariano"); var maza = new Restaurante("maza"); var voto = new Voto(dariano, maza); _votosMock.Setup(v => v.Adicionar(voto)); // Executa uma ação var urna = new UrnaService(_votosMock.Object); var votou = urna.Recebe(voto); // Valida o resultado _votosMock.VerifyAll(); Assert.IsTrue(votou); }