Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Tests/AgendaTests.cs @ 3:5f007e266509
code cleanup
author | nelopauselli |
---|---|
date | Sat, 22 Jan 2011 20:23:50 -0300 |
parents | c03560ae4762 |
children | 49b572535156 |
rev | line source |
---|---|
2 | 1 using System; |
2 using System.Linq; | |
3 using Agendas.Repositories.Memory; | |
4 using AltNetHispano.Agendas.Domain; | |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
5 using AltNetHispano.Agendas.Domain.Repositories; |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
6 using Moq; |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
7 using NUnit.Framework; |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
8 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
9 namespace AltNetHispano.Agendas.Tests |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
10 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
11 [TestFixture] |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
12 public class AgendaTests |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
13 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
14 [Test] |
3 | 15 public void Publicar_cafe() |
16 { | |
17 var publicador = new Mock<IPublicador>(); | |
18 | |
19 var agenda = new Agenda(publicador.Object, null); | |
20 | |
21 var cafe = new Cafe(); | |
22 agenda.Publicar(cafe); | |
23 | |
24 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
25 } | |
26 | |
27 [Test] | |
1 | 28 public void Publicar_van() |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
29 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
30 var publicador = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
31 |
2 | 32 var agenda = new Agenda(publicador.Object, null); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
33 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
34 var van = new Van(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
35 agenda.Publicar(van); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
36 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
37 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
38 } |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
39 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
40 [Test] |
1 | 41 public void Publicar_van_multiples_publicadores() |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
42 { |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
43 var publicador1 = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
44 var publicador2 = new Mock<IPublicador>(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
45 |
3 | 46 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), null); |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
47 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
48 var cafe = new Cafe(); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
49 agenda.Publicar(cafe); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
50 |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
51 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
52 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); |
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
53 } |
1 | 54 |
55 [Test] | |
56 public void Publicar_y_recordar_van() | |
57 { | |
58 var publicador1 = new Mock<IPublicador>(); | |
59 var publicador2 = new Mock<IPublicador>(); | |
60 var recordador1 = new Mock<IRecordador>(); | |
61 | |
3 | 62 var agenda = new Agenda(new CompositePublicador(new[] {publicador1.Object, publicador2.Object}), recordador1.Object); |
1 | 63 |
64 var van = new Van(); | |
65 agenda.Publicar(van); | |
66 | |
67 agenda.Recordar(van); | |
68 | |
69 publicador1.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
70 publicador2.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1)); | |
71 recordador1.Verify(r => r.Recordar(It.IsAny<Evento>()), Times.Exactly(1)); | |
72 | |
2 | 73 Assert.AreEqual(1, agenda.Eventos.Count()); |
74 } | |
75 | |
76 [Test] | |
77 public void Van_crud() | |
78 { | |
79 Guid vanId; | |
80 { | |
81 var agenda = new Agenda(null, null); | |
82 agenda.Publicar(new Van()); | |
83 | |
84 IAgendaRepository agendaRepository = new AgendaRepository(); | |
85 | |
86 agendaRepository.Save(agenda); | |
87 vanId = agenda.Id; | |
88 } | |
89 | |
90 { | |
91 IAgendaRepository agendaRepository = new AgendaRepository(); | |
92 | |
3 | 93 Agenda agenda = agendaRepository.Get(vanId); |
2 | 94 |
95 Assert.IsNotNull(agenda); | |
96 Assert.AreEqual(1, agenda.Eventos.Count()); | |
97 agenda.Publicar(new Cafe()); | |
98 | |
99 agendaRepository.Update(agenda); | |
100 } | |
101 | |
102 { | |
103 IAgendaRepository agendaRepository = new AgendaRepository(); | |
104 | |
3 | 105 Agenda agenda = agendaRepository.Get(vanId); |
2 | 106 |
107 Assert.IsNotNull(agenda); | |
108 Assert.AreEqual(2, agenda.Eventos.Count()); | |
109 | |
110 agendaRepository.Delete(agenda); | |
111 } | |
112 | |
113 { | |
114 IAgendaRepository agendaRepository = new AgendaRepository(); | |
115 | |
3 | 116 Agenda agenda = agendaRepository.Get(vanId); |
2 | 117 |
118 Assert.IsNull(agenda); | |
119 } | |
1 | 120 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
121 } |
3 | 122 } |