Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 1:6bb4ab4c0611
Tests de Crud para repositorio de Vans
author | nelopauselli |
---|---|
date | Sat, 22 Jan 2011 19:50:32 -0300 |
parents | 3f7dbb633b71 |
children | c03560ae4762 |
line wrap: on
line source
using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; using Moq; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests { [TestFixture] public class AgendaTests { [Test] public void Publicar_van() { var publicador = new Mock<IPublicador>(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(publicador.Object, null, eventoRepository.Object); var van = new Van(); agenda.Publicar(van); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); eventoRepository.Verify(r => r.Save(It.IsAny<Evento>()), Times.Exactly(1)); } [Test] public void Publicar_cafe() { var publicador = new Mock<IPublicador>(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(publicador.Object, null, eventoRepository.Object); var cafe = new Cafe(); agenda.Publicar(cafe); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); eventoRepository.Verify(r => r.Save(It.IsAny<Evento>()), Times.Exactly(1)); } [Test] public void Publicar_van_multiples_publicadores() { var publicador1 = new Mock<IPublicador>(); var publicador2 = new Mock<IPublicador>(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(new CompositePublicador (new[] { publicador1.Object, publicador2.Object } ), null, eventoRepository.Object); var cafe = new Cafe(); agenda.Publicar(cafe); publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } [Test] public void Publicar_y_recordar_van() { var publicador1 = new Mock<IPublicador>(); var publicador2 = new Mock<IPublicador>(); var recordador1 = new Mock<IRecordador>(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, eventoRepository.Object); var van = new Van(); agenda.Publicar(van); agenda.Recordar(van); publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1)); } } }