Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 0:3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
author | nelopauselli |
---|---|
date | Sat, 22 Jan 2011 17:13:46 -0300 |
parents | |
children | 6bb4ab4c0611 |
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 PublicarVan() { var publicador = new Mock<IPublicador>(); publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(publicador.Object, eventoRepository.Object); var van = new Van(); agenda.Publicar(van); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } [Test] public void PublicarCafe() { var publicador = new Mock<IPublicador>(); publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(publicador.Object, eventoRepository.Object); var cafe = new Cafe(); agenda.Publicar(cafe); publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); } [Test] public void PublicarComposite() { var publicador1 = new Mock<IPublicador>(); publicador1.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable(); var publicador2 = new Mock<IPublicador>(); publicador2.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable(); var eventoRepository = new Mock<IEventoRepository>(); var agenda = new Agenda(new CompositePublicador (new[] { publicador1.Object, publicador2.Object } ), 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)); } } }