예제 #1
0
        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;
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }