Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 2:c03560ae4762
Test de Crud para la agenda
author | nelopauselli |
---|---|
date | Sat, 22 Jan 2011 20:21:31 -0300 |
parents | 6bb4ab4c0611 |
children | 5f007e266509 |
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs Sat Jan 22 19:50:32 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs Sat Jan 22 20:21:31 2011 -0300 @@ -1,4 +1,7 @@ -using AltNetHispano.Agendas.Domain; +using System; +using System.Linq; +using Agendas.Repositories.Memory; +using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; using Moq; using NUnit.Framework; @@ -12,30 +15,26 @@ public void Publicar_van() { var publicador = new Mock<IPublicador>(); - var eventoRepository = new Mock<IEventoRepository>(); - var agenda = new Agenda(publicador.Object, null, eventoRepository.Object); + var agenda = new Agenda(publicador.Object, null); 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 agenda = new Agenda(publicador.Object, null); 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] @@ -44,9 +43,7 @@ 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 agenda = new Agenda(new CompositePublicador (new[] { publicador1.Object, publicador2.Object } ), null); var cafe = new Cafe(); agenda.Publicar(cafe); @@ -62,9 +59,7 @@ 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 agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object); var van = new Van(); agenda.Publicar(van); @@ -75,6 +70,53 @@ publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1)); + Assert.AreEqual(1, agenda.Eventos.Count()); + } + + [Test] + public void Van_crud() + { + Guid vanId; + { + var agenda = new Agenda(null, null); + agenda.Publicar(new Van()); + + IAgendaRepository agendaRepository = new AgendaRepository(); + + agendaRepository.Save(agenda); + vanId = agenda.Id; + } + + { + IAgendaRepository agendaRepository = new AgendaRepository(); + + var agenda = agendaRepository.Get(vanId); + + Assert.IsNotNull(agenda); + Assert.AreEqual(1, agenda.Eventos.Count()); + agenda.Publicar(new Cafe()); + + agendaRepository.Update(agenda); + } + + { + IAgendaRepository agendaRepository = new AgendaRepository(); + + var agenda = agendaRepository.Get(vanId); + + Assert.IsNotNull(agenda); + Assert.AreEqual(2, agenda.Eventos.Count()); + + agendaRepository.Delete(agenda); + } + + { + IAgendaRepository agendaRepository = new AgendaRepository(); + + var agenda = agendaRepository.Get(vanId); + + Assert.IsNull(agenda); + } } } }