annotate Agendas/trunk/src/Agendas.Tests/PonentesTests.cs @ 75:96d7609f2e08

Agendar evento propuesto
author nelopauselli
date Mon, 23 May 2011 20:43:01 -0300
parents bc46e7426c80
children 26d0513a8410
rev   line source
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
1 using System;
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
2 using System.Collections.Generic;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
3 using System.Linq;
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
4 using AltNetHispano.Agendas.Domain;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
5 using Moq;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
6 using NUnit.Framework;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
7
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
8 namespace AltNetHispano.Agendas.Tests
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
9 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
10 [TestFixture]
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
11 public class PonentesTests : TestBase
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
12 {
70
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 61
diff changeset
13 private const string urlInvitacion = "http://groups.google.com/group/altnet-hispano/browse_thread/thread/65d6d26eb381386e";
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 61
diff changeset
14
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
15 [Test]
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
16 public void Publicar_dos_eventos_con_el_mismo_ponente_no_registrado()
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
17 {
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
18 var publicador = new Mock<IPublicador>();
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
19
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
20 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
21
74
bc46e7426c80 Refactoring de acciones según la definición del diagrama de estados en assembla
nelopauselli
parents: 70
diff changeset
22 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26),
70
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 61
diff changeset
23 urlInvitacion);
74
bc46e7426c80 Refactoring de acciones según la definición del diagrama de estados en assembla
nelopauselli
parents: 70
diff changeset
24 agenda.Agendar("Conform - Parte 2", "Fabio Maulo", new DateTime(2011, 3, 5),
70
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 61
diff changeset
25 urlInvitacion);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
26
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
27 var eventos = agenda.GetEventosAgendados();
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
28 Assert.AreEqual(2, eventos.Count);
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
29
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
30 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(2));
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
31
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
32 Assert.AreEqual(1, DefaultPonenteRepository.GetAll().Count);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
33
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
34 var evento = eventos[0];
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
35
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
36 Assert.IsNotNull(evento.Ponente);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
37 var ponente = evento.Ponente;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
38 Assert.IsNotNull(evento.Ponente.Eventos);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
39 Assert.Contains(eventos[0], new List<Evento>(ponente.Eventos));
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
40 Assert.Contains(eventos[1], new List<Evento>(ponente.Eventos));
54
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
41 }
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
42
3059a5f8930f Code cleanup
nelopauselli
parents: 51
diff changeset
43 [Test]
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
44 public void Publicar_evento_con_ponente_registrado()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
45 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
46 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
47 Evento evento = null;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
48 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
49
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents: 24
diff changeset
50 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
51
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
52 agenda.RegistrarPonente("Fabio Maulo", "fabiomaulo@gmail.com", "@fabiomaulo", "http://fabiomaulo.blogspot.com");
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
53
74
bc46e7426c80 Refactoring de acciones según la definición del diagrama de estados en assembla
nelopauselli
parents: 70
diff changeset
54 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26), urlInvitacion);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
55
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
56 Assert.AreEqual(1, agenda.GetEventosAgendados().Count);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
57
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
58 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
59
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
60 Assert.IsNotNull(evento);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
61 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
62 Assert.AreEqual("fabiomaulo@gmail.com", evento.Ponente.Mail);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
63 Assert.AreEqual("@fabiomaulo", evento.Ponente.Twitter);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
64 Assert.AreEqual("http://fabiomaulo.blogspot.com", evento.Ponente.Blog);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
65 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
66
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
67 [Test]
51
4a63a73e38e4 Cambio de nombres de test intentando describir mejor lo que verifican
nelopauselli
parents: 50
diff changeset
68 public void Publicar_evento_sin_ponente_registrado()
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
69 {
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
70 var publicador = new Mock<IPublicador>();
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
71 Evento evento = null;
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
72 publicador.Setup(p => p.Publicar(It.IsAny<Evento>())).Callback<Evento>(e => evento = e);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
73
50
3ebe89c88caa Agregando propiedad al Evento sobre el Usuario que lo crea o que realizó la
nelopauselli
parents: 24
diff changeset
74 var agenda = new Agenda(publicador.Object, null, DefaultEventoRepository, DefaultPonenteRepository);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
75
74
bc46e7426c80 Refactoring de acciones según la definición del diagrama de estados en assembla
nelopauselli
parents: 70
diff changeset
76 agenda.Agendar("Audit (parallel model) con NHibernate 3", "Fabio Maulo", new DateTime(2011, 2, 26),
70
c7264bfc4b71 agregado de properties en clase Evento (UrlInvitacion, UrlWiki, NumeroOrden)
jorge.rowies
parents: 61
diff changeset
77 urlInvitacion);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
78
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
79 Assert.AreEqual(1, agenda.GetEventosAgendados().Count);
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
80
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
81 publicador.Verify(p => p.Publicar(It.IsAny<Evento>()), Times.Exactly(1));
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
82
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
83 Assert.IsNotNull(evento);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
84 Assert.AreEqual("Fabio Maulo", evento.Ponente.Nombre);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
85 Assert.IsNullOrEmpty(evento.Ponente.Twitter);
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
86 }
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
87
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
88 [Test]
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
89 public void Quitar_ponente_de_un_evento()
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
90 {
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
91 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
92
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
93 const string titulo = "Audit (parallel model) con NHibernate 3";
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
94 Guid eventoId;
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
95
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
96 agenda.Proponer(titulo, "Fabio", urlInvitacion);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
97 Ponente ponente;
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
98 {
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
99 var eventos = agenda.GetEventosPropuestos();
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
100 Assert.AreEqual(1, eventos.Count);
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
101
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
102 Evento evento = eventos[0];
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
103 Assert.AreEqual("Fabio", evento.Ponente.Nombre);
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
104
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
105 eventoId = evento.Id;
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
106 ponente = evento.Ponente;
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
107 }
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
108
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
109 agenda.ModificarPropuesta(eventoId, titulo, null, urlInvitacion);
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
110 {
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
111 var eventos = agenda.GetEventosPropuestos();
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
112 Assert.AreEqual(1, eventos.Count);
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
113
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
114 Evento evento = eventos[0];
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
115 Assert.IsNull(evento.Ponente);
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
116 }
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
117
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
118 Assert.AreEqual(0, ponente.Eventos.Count());
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
119 }
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
120
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
121 [Test]
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
122 public void Cambiar_ponente_de_un_evento()
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
123 {
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
124 var agenda = new Agenda(null, null, DefaultEventoRepository, DefaultPonenteRepository);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
125
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
126 const string titulo = "Audit (parallel model) con NHibernate 3";
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
127 Guid eventoId;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
128
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
129 agenda.Proponer(titulo, "Fabio", urlInvitacion);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
130 Ponente ponente1;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
131 {
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
132 var eventos = agenda.GetEventosPropuestos();
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
133 Assert.AreEqual(1, eventos.Count);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
134
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
135 Evento evento = eventos[0];
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
136 Assert.AreEqual("Fabio", evento.Ponente.Nombre);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
137
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
138 eventoId = evento.Id;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
139 ponente1 = evento.Ponente;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
140 }
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
141
75
96d7609f2e08 Agendar evento propuesto
nelopauselli
parents: 74
diff changeset
142 agenda.ModificarPropuesta(eventoId, titulo, "José", urlInvitacion);
61
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
143 Ponente ponente2;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
144 {
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
145 var eventos = agenda.GetEventosPropuestos();
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
146 Assert.AreEqual(1, eventos.Count);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
147
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
148 Evento evento = eventos[0];
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
149 Assert.IsNotNull(evento.Ponente);
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
150 ponente2 = evento.Ponente;
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
151 }
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
152
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
153 Assert.AreEqual(0, ponente1.Eventos.Count());
cb3f7b47c1f0 Relación de Ponente a Eventos de los que es el ponente.
nelopauselli
parents: 59
diff changeset
154 Assert.AreEqual(1, ponente2.Eventos.Count());
59
4a4e12e32256 Poder quitar un ponente de un evento propuesto
nelopauselli
parents: 54
diff changeset
155 }
24
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
156 }
41b283d27e3e Ponentes como entidad
nelo@MTEySS.neluz.int
parents:
diff changeset
157 }