comparison 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
comparison
equal deleted inserted replaced
0:3f7dbb633b71 1:6bb4ab4c0611
7 { 7 {
8 [TestFixture] 8 [TestFixture]
9 public class AgendaTests 9 public class AgendaTests
10 { 10 {
11 [Test] 11 [Test]
12 public void PublicarVan() 12 public void Publicar_van()
13 { 13 {
14 var publicador = new Mock<IPublicador>(); 14 var publicador = new Mock<IPublicador>();
15 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable();
16
17 var eventoRepository = new Mock<IEventoRepository>(); 15 var eventoRepository = new Mock<IEventoRepository>();
18 16
19 var agenda = new Agenda(publicador.Object, eventoRepository.Object); 17 var agenda = new Agenda(publicador.Object, null, eventoRepository.Object);
20 18
21 var van = new Van(); 19 var van = new Van();
22 agenda.Publicar(van); 20 agenda.Publicar(van);
23 21
24 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 22 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
23 eventoRepository.Verify(r => r.Save(It.IsAny<Evento>()), Times.Exactly(1));
25 } 24 }
26 25
27 [Test] 26 [Test]
28 public void PublicarCafe() 27 public void Publicar_cafe()
29 { 28 {
30 var publicador = new Mock<IPublicador>(); 29 var publicador = new Mock<IPublicador>();
31 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable();
32
33 var eventoRepository = new Mock<IEventoRepository>(); 30 var eventoRepository = new Mock<IEventoRepository>();
34 31
35 var agenda = new Agenda(publicador.Object, eventoRepository.Object); 32 var agenda = new Agenda(publicador.Object, null, eventoRepository.Object);
36 33
37 var cafe = new Cafe(); 34 var cafe = new Cafe();
38 agenda.Publicar(cafe); 35 agenda.Publicar(cafe);
39 36
40 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 37 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41 38 eventoRepository.Verify(r => r.Save(It.IsAny<Evento>()), Times.Exactly(1));
42 } 39 }
43 40
44 [Test] 41 [Test]
45 public void PublicarComposite() 42 public void Publicar_van_multiples_publicadores()
46 { 43 {
47 var publicador1 = new Mock<IPublicador>(); 44 var publicador1 = new Mock<IPublicador>();
48 publicador1.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable();
49
50 var publicador2 = new Mock<IPublicador>(); 45 var publicador2 = new Mock<IPublicador>();
51 publicador2.Setup(p => p.Publicar(It.IsAny<Evento>())).Verifiable();
52 46
53 var eventoRepository = new Mock<IEventoRepository>(); 47 var eventoRepository = new Mock<IEventoRepository>();
54 48
55 var agenda = new Agenda(new CompositePublicador (new[] { publicador1.Object, publicador2.Object } ), eventoRepository.Object); 49 var agenda = new Agenda(new CompositePublicador (new[] { publicador1.Object, publicador2.Object } ), null, eventoRepository.Object);
56 50
57 var cafe = new Cafe(); 51 var cafe = new Cafe();
58 agenda.Publicar(cafe); 52 agenda.Publicar(cafe);
59 53
60 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 54 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
61 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); 55 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
62 } 56 }
57
58 [Test]
59 public void Publicar_y_recordar_van()
60 {
61 var publicador1 = new Mock<IPublicador>();
62 var publicador2 = new Mock<IPublicador>();
63 var recordador1 = new Mock<IRecordador>();
64
65 var eventoRepository = new Mock<IEventoRepository>();
66
67 var agenda = new Agenda(new CompositePublicador(new[] { publicador1.Object, publicador2.Object }), recordador1.Object, eventoRepository.Object);
68
69 var van = new Van();
70 agenda.Publicar(van);
71
72 agenda.Recordar(van);
73
74 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
75 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
76 recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1));
77
78 }
63 } 79 }
64 } 80 }