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

Agregando referencias con NuGet
author nelopauselli
date Mon, 16 May 2011 20:10:45 -0300
parents 3059a5f8930f
children 3d9e6d56d903
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 : TestBase
	{
		[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);
			}
		}
	}
}