# HG changeset patch
# User nelopauselli
# Date 1305592840 10800
# Node ID 02e163f2ca3882e2cd729c4d3da1bd16ad0fbc6f
# Parent 4a4e12e322566bd9fbeb3b375821e1ef4409be76
Refactoring de test de crud del evento
diff -r 4a4e12e32256 -r 02e163f2ca38 Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj
--- a/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj Mon May 16 20:32:37 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Tests/Agendas.Tests.csproj Mon May 16 21:40:40 2011 -0300
@@ -52,9 +52,10 @@
+
-
+
diff -r 4a4e12e32256 -r 02e163f2ca38 Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/EventoCrud.cs Mon May 16 21:40:40 2011 -0300
@@ -0,0 +1,105 @@
+using System;
+using AltNetHispano.Agendas.Domain;
+using AltNetHispano.Agendas.Domain.Repositories;
+using NUnit.Framework;
+
+namespace AltNetHispano.Agendas.Tests.Cruds
+{
+ public class EventoCrud
+ {
+ private readonly Func _createRepository;
+ private readonly Func _requestEmulator;
+
+ public EventoCrud(Func createRepository, Func requestEmulator)
+ {
+ _createRepository = createRepository;
+ _requestEmulator = requestEmulator;
+ }
+
+ public Guid Create()
+ {
+ using (_requestEmulator.Invoke())
+ {
+ var van = Evento.Proponer("TDD - Diseño Basado en Ejemplos", new Ponente("Carlos Blé"));
+
+ IEventoRepository eventoRepository = _createRepository.Invoke();
+
+ eventoRepository.Save(van);
+
+ return van.Id;
+ }
+ }
+
+ public void Read()
+ {
+ Guid eventoId = Create();
+
+ using (_requestEmulator.Invoke())
+ {
+ IEventoRepository eventoRepository = _createRepository.Invoke();
+
+ Evento van = eventoRepository.Get(eventoId);
+
+ Assert.IsNotNull(van);
+ Assert.IsNotNull(van.Ponente);
+ Assert.AreEqual("Carlos Blé", van.Ponente.Nombre);
+ Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo);
+ }
+ }
+
+ public void Update()
+ {
+ Guid eventoId = Create();
+
+ using (_requestEmulator.Invoke())
+ {
+ IEventoRepository eventoRepository = _createRepository.Invoke();
+
+ Evento van = eventoRepository.Get(eventoId);
+
+ Assert.IsNotNull(van);
+
+ van.CambiarTitulo("TDD & Ejemplos");
+ van.Actualizar(van.Ponente, new DateTime(2010, 04, 17));
+
+ eventoRepository.Update(van);
+ }
+
+ using (_requestEmulator.Invoke())
+ {
+ IEventoRepository eventoRepository = _createRepository.Invoke();
+
+ Evento van = eventoRepository.Get(eventoId);
+
+ Assert.IsNotNull(van);
+ Assert.IsNotNull(van.Ponente);
+ Assert.AreEqual("Carlos Blé", van.Ponente.Nombre);
+ Assert.AreEqual("TDD & Ejemplos", van.Titulo);
+ Assert.AreEqual(new DateTime(2010, 04, 17), van.Fecha);
+ }
+ }
+
+ public void Delete()
+ {
+ Guid eventoId = Create();
+
+ using (_requestEmulator.Invoke())
+ {
+ IEventoRepository eventoRepository = _createRepository.Invoke();
+
+ Evento van = eventoRepository.Get(eventoId);
+ Assert.IsNotNull(van);
+ eventoRepository.Delete(van);
+ }
+
+ using (_requestEmulator.Invoke())
+ {
+ IEventoRepository eventoRepository = _createRepository.Invoke();
+
+ Evento van = eventoRepository.Get(eventoId);
+
+ Assert.IsNull(van);
+ }
+ }
+ }
+}
\ No newline at end of file
diff -r 4a4e12e32256 -r 02e163f2ca38 Agendas/trunk/src/Agendas.Tests/Cruds/EventoTests.cs
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Agendas/trunk/src/Agendas.Tests/Cruds/EventoTests.cs Mon May 16 21:40:40 2011 -0300
@@ -0,0 +1,45 @@
+using System;
+using AltNetHispano.Agendas.Repositories.Memory;
+using Moq;
+using NUnit.Framework;
+
+namespace AltNetHispano.Agendas.Tests.Cruds
+{
+ [TestFixture]
+ public class EventoCrudTests : TestBase
+ {
+ private EventoCrud _eventoCrud;
+
+ [SetUp]
+ public void CreateCrud()
+ {
+ _eventoCrud = new EventoCrud(() => new EventoRepository(), () => new Mock().Object);
+
+ }
+
+ [Test]
+ public void Create()
+ {
+ _eventoCrud.Create();
+ }
+
+ [Test]
+ public void Read()
+ {
+ _eventoCrud.Read();
+ }
+
+ [Test]
+ public void Update()
+ {
+ _eventoCrud.Update();
+ }
+
+ [Test]
+ public void Delete()
+ {
+ _eventoCrud.Delete();
+ }
+
+ }
+}
\ No newline at end of file
diff -r 4a4e12e32256 -r 02e163f2ca38 Agendas/trunk/src/Agendas.Tests/EventoTests.cs
--- a/Agendas/trunk/src/Agendas.Tests/EventoTests.cs Mon May 16 20:32:37 2011 -0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-using System;
-using System.Linq;
-using AltNetHispano.Agendas.Domain;
-using AltNetHispano.Agendas.Domain.Repositories;
-using AltNetHispano.Agendas.Repositories.Memory;
-using NUnit.Framework;
-
-namespace AltNetHispano.Agendas.Tests
-{
- [TestFixture]
- public class EventoTests : TestBase
- {
- [Test]
- public void Van_crud()
- {
- Guid vanId;
- {
- var van = Evento.Proponer("TDD - Diseño Basado en Ejemplos", null);
- van.Actualizar(new Ponente("Carlos Blé"), new DateTime(2010, 04, 16));
-
- IEventoRepository eventoRepository = new EventoRepository();
-
- eventoRepository.Save(van);
- vanId = van.Id;
- }
-
- const string sintesis =
- "Durante la primera hora se habló de los principios SOLID, de BDD, TDD y ATDD. Discusión entre las diferencias entre TDD y BDD, así como también sobre algunas cuestiones relativas a la nomenclatura.\n Durante la segunda hora se realizó un ejercicio práctico demostrando como se comienza a practicar TDD.\n La última parte de la VAN es la mas interesante respecto a lo que es TDD y como se practica.";
-
- {
- IEventoRepository eventoRepository = new EventoRepository();
-
- Evento van = eventoRepository.Get(vanId);
-
- Assert.IsNotNull(van);
- Assert.AreEqual("Carlos Blé", van.Ponente.Nombre);
- Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo);
- Assert.AreEqual(new DateTime(2010, 04, 16), van.Fecha);
-
- van.Realizado(new DateTime(2010, 04, 17), sintesis, new[] {"www.carlosble.com", "www.dirigidoPorTests.com"});
-
- eventoRepository.Update(van);
- }
-
- {
- IEventoRepository eventoRepository = new EventoRepository();
-
- Evento van = eventoRepository.Get(vanId);
-
- Assert.IsNotNull(van);
- Assert.AreEqual("Carlos Blé", van.Ponente.Nombre);
- Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo);
- Assert.AreEqual(new DateTime(2010, 04, 17), van.Fecha);
- Assert.AreEqual(sintesis, van.Sintesis);
- Assert.IsNotNull(van.Enlaces);
- Assert.AreEqual(2, van.Enlaces.Count());
- Assert.Contains("www.carlosble.com", van.Enlaces.ToList());
- Assert.Contains("www.dirigidoPorTests.com", van.Enlaces.ToList());
-
- eventoRepository.Delete(van);
- }
-
- {
- IEventoRepository eventoRepository = new EventoRepository();
-
- Evento van = eventoRepository.Get(vanId);
-
- Assert.IsNull(van);
- }
- }
- }
-}
\ No newline at end of file