annotate Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 54:3059a5f8930f

Code cleanup
author nelopauselli
date Sat, 14 May 2011 13:01:24 -0300
parents 4a63a73e38e4
children 4a4e12e32256
rev   line source
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
1 using System;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
2 using AltNetHispano.Agendas.Domain;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
3 using Moq;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
4 using NUnit.Framework;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
5
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
6 namespace AltNetHispano.Agendas.Tests
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
7 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
8 [TestFixture]
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
9 public class PonentesTests : TestBase
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
10 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
11 [Test]
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
12 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado()
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
13 {
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
14 var publicador = new Mock<IPublicador>();
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
15
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
16 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
17
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
18 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
19 agenda.Publicar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5));
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
20
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
21 Assert.AreEqual(2, agenda.GetEventosPublicados().Count);
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
22
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
23 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2));
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
24
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
25 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count);
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
26 }
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
27
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
28 [Test]
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
29 public void Publicar_evento_con_ponente_registrado()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
30 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
31 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
32 Evento evento = null;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
33 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
34
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents: 24
diff changeset
35 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
36
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
37 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com");
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
38
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
39 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
40
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
41 Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
42
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
43 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
44
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
45 Assert.IsNotNull(evento);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
46 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
47 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
48 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
49 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
50 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
51
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
52 [Test]
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
53 public void Publicar_evento_sin_ponente_registrado()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
54 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
55 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
56 Evento evento = null;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
57 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
58
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents: 24
diff changeset
59 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
60
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
61 agenda.Publicar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
62
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
63 Assert.AreEqual(1, agenda.GetEventosPublicados().Count);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
64
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
65 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
66
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
67 Assert.IsNotNull(evento);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
68 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
69 Assert.IsNullOrEmpty(evento.Ponente.Twitter);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
70 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
71 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
72 }