comparison Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs @ 94:db4b1e2cae49

Cambio del nombre de la clase Ponente a Persona Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona Alta Automatica de cuentas de twitter creando la persona
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 12:11:17 -0300
parents 26d0513a8410
children 83d76f6e0a3c
comparison
equal deleted inserted replaced
93:65f0b3d70c18 94:db4b1e2cae49
8 { 8 {
9 public class EventoCrud 9 public class EventoCrud
10 { 10 {
11 private readonly IEventoRepository _eventoRepository; 11 private readonly IEventoRepository _eventoRepository;
12 private readonly Func<IDisposable> _requestEmulator; 12 private readonly Func<IDisposable> _requestEmulator;
13 private readonly IPonenteRepository _ponenteRepository; 13 private readonly IPersonaRepository _personaRepository;
14 14
15 public EventoCrud(Func<IEventoRepository> createEventoRepository, Func<IPonenteRepository> createPonenteRepository, Func<IDisposable> requestEmulator) 15 public EventoCrud(Func<IEventoRepository> createEventoRepository, Func<IPersonaRepository> createPonenteRepository, Func<IDisposable> requestEmulator)
16 { 16 {
17 _eventoRepository = createEventoRepository.Invoke(); 17 _eventoRepository = createEventoRepository.Invoke();
18 _ponenteRepository = createPonenteRepository.Invoke(); 18 _personaRepository = createPonenteRepository.Invoke();
19 19
20 _requestEmulator = requestEmulator; 20 _requestEmulator = requestEmulator;
21 } 21 }
22 22
23 public Guid Create() 23 public Guid Create()
24 { 24 {
25 using (_requestEmulator.Invoke()) 25 using (_requestEmulator.Invoke())
26 { 26 {
27 var ponente = new Ponente("Carlos Blé"); 27 var ponente = new Persona("Carlos Blé");
28 _ponenteRepository.Save(ponente); 28 _personaRepository.Save(ponente);
29 29
30 var evento = Evento.Proponer("TDD - Diseño Basado en Ejemplos", ponente, string.Empty); 30 var evento = Evento.Proponer("TDD - Diseño Basado en Ejemplos", ponente, string.Empty);
31 _eventoRepository.Save(evento); 31 _eventoRepository.Save(evento);
32 32
33 return evento.Id; 33 return evento.Id;
41 using (_requestEmulator.Invoke()) 41 using (_requestEmulator.Invoke())
42 { 42 {
43 Evento van = _eventoRepository.Get(eventoId); 43 Evento van = _eventoRepository.Get(eventoId);
44 44
45 Assert.IsNotNull(van); 45 Assert.IsNotNull(van);
46 Assert.IsNotNull(van.Ponente); 46 Assert.IsNotNull(van.Persona);
47 Assert.AreEqual("Carlos Blé", van.Ponente.Nombre); 47 Assert.AreEqual("Carlos Blé", van.Persona.Nombre);
48 Assert.AreEqual(1, van.Ponente.Eventos.Count()); 48 Assert.AreEqual(1, van.Persona.Eventos.Count());
49 Assert.AreEqual(van, van.Ponente.Eventos.First()); 49 Assert.AreEqual(van, van.Persona.Eventos.First());
50 50
51 var track1 = van.Tracks.Where(t => t.Accion == Accion.Proponer).FirstOrDefault(); 51 var track1 = van.Tracks.Where(t => t.Accion == Accion.Proponer).FirstOrDefault();
52 Assert.IsNotNull(track1); 52 Assert.IsNotNull(track1);
53 Assert.AreEqual(van, track1.Evento); 53 Assert.AreEqual(van, track1.Evento);
54 54
66 66
67 Assert.IsNotNull(van); 67 Assert.IsNotNull(van);
68 68
69 van.CambiarTitulo("TDD & Ejemplos"); 69 van.CambiarTitulo("TDD & Ejemplos");
70 70
71 var otroPonente = new Ponente("José"); 71 var otroPonente = new Persona("José");
72 _ponenteRepository.Save(otroPonente); 72 _personaRepository.Save(otroPonente);
73 73
74 van.Actualizar(otroPonente, new DateTime(2010, 04, 17), null); 74 van.Actualizar(otroPonente, new DateTime(2010, 04, 17), null);
75 75
76 _eventoRepository.Update(van); 76 _eventoRepository.Update(van);
77 } 77 }
79 using (_requestEmulator.Invoke()) 79 using (_requestEmulator.Invoke())
80 { 80 {
81 Evento van = _eventoRepository.Get(eventoId); 81 Evento van = _eventoRepository.Get(eventoId);
82 82
83 Assert.IsNotNull(van); 83 Assert.IsNotNull(van);
84 Assert.IsNotNull(van.Ponente); 84 Assert.IsNotNull(van.Persona);
85 Assert.AreEqual("José", van.Ponente.Nombre); 85 Assert.AreEqual("José", van.Persona.Nombre);
86 Assert.AreEqual("TDD & Ejemplos", van.Titulo); 86 Assert.AreEqual("TDD & Ejemplos", van.Titulo);
87 Assert.AreEqual(new DateTime(2010, 04, 17), van.Fecha); 87 Assert.AreEqual(new DateTime(2010, 04, 17), van.Fecha);
88 88
89 var ponente1 = _ponenteRepository.GetByNombre("Carlos Blé"); 89 var ponente1 = _personaRepository.GetByNombre("Carlos Blé");
90 Assert.IsNotNull(ponente1); 90 Assert.IsNotNull(ponente1);
91 Assert.AreEqual(0, ponente1.Eventos.Count()); 91 Assert.AreEqual(0, ponente1.Eventos.Count());
92 92
93 var ponente2 = _ponenteRepository.GetByNombre("José"); 93 var ponente2 = _personaRepository.GetByNombre("José");
94 Assert.IsNotNull(ponente2); 94 Assert.IsNotNull(ponente2);
95 Assert.AreEqual(1, ponente2.Eventos.Count()); 95 Assert.AreEqual(1, ponente2.Eventos.Count());
96 96
97 Assert.AreEqual(1, van.Tracks.Where(t => t.Accion == Accion.Proponer).Count()); 97 Assert.AreEqual(1, van.Tracks.Where(t => t.Accion == Accion.Proponer).Count());
98 Assert.AreEqual(1, van.Tracks.Where(t => t.Accion == Accion.Modificar).Count()); 98 Assert.AreEqual(1, van.Tracks.Where(t => t.Accion == Accion.Modificar).Count());
115 { 115 {
116 Evento van = _eventoRepository.Get(eventoId); 116 Evento van = _eventoRepository.Get(eventoId);
117 117
118 Assert.IsNull(van); 118 Assert.IsNull(van);
119 119
120 var ponente = _ponenteRepository.GetByNombre("Carlos Blé"); 120 var ponente = _personaRepository.GetByNombre("Carlos Blé");
121 121
122 Assert.IsNotNull(ponente); 122 Assert.IsNotNull(ponente);
123 Assert.AreEqual(0, ponente.Eventos.Count()); 123 Assert.AreEqual(0, ponente.Eventos.Count());
124 } 124 }
125 } 125 }