# 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