view Agendas/trunk/src/Agendas.Tests/EventoTests.cs @ 39:e548379cc314

track de cambios en evento
author nelo@MTEySS.neluz.int
date Fri, 18 Mar 2011 00:10:21 -0300
parents 3c5657d99727
children 3ebe89c88caa
line wrap: on
line source

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
	{
		[Test]
		public void Van_crud()
		{
			Guid vanId;
		    {
		        var van = new Evento("TDD - Diseño Basado en Ejemplos");
                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);
			}
		}
	}
}