diff 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 diff
--- a/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs	Sat Jan 22 17:13:46 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/AgendaTests.cs	Sat Jan 22 19:50:32 2011 -0300
@@ -9,50 +9,44 @@
 	public class AgendaTests
 	{
 		[Test]
-		public void PublicarVan()
+		public void Publicar_van()
 		{
 			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 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 PublicarCafe()
+		public void Publicar_cafe()
 		{
 			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 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 PublicarComposite()
+		public void Publicar_van_multiples_publicadores()
 		{
 			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 agenda = new Agenda(new CompositePublicador (new[] { publicador1.Object, publicador2.Object } ), null, eventoRepository.Object);
 
 			var cafe = new Cafe();
 			agenda.Publicar(cafe);
@@ -60,5 +54,27 @@
 			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));
+
+		}
 	}
 }