view Agendas/trunk/src/Agendas.Tests/EventoTests.cs @ 3:5f007e266509

code cleanup
author nelopauselli
date Sat, 22 Jan 2011 20:23:50 -0300
parents c03560ae4762
children 05996fa19e04
line wrap: on
line source

using System;
using Agendas.Repositories.Memory;
using AltNetHispano.Agendas.Domain;
using AltNetHispano.Agendas.Domain.Repositories;
using NUnit.Framework;

namespace AltNetHispano.Agendas.Tests
{
	[TestFixture]
	public class EventoTests
	{
		[Test]
		public void Cafe_crud()
		{
			Guid cafeId;
			{
				var cafe = new Cafe
				           	{
				           		Titulo = "La Inmortalidad de la Medusa - Arquitectura",
				           		Fecha = new DateTime(2010, 08, 27),
				           	};
				ICafeRepository eventoRepository = new CafeRepository();

				eventoRepository.Save(cafe);
				cafeId = cafe.Id;
			}

			const string sintesis =
				"Se habló sobre la sensación de perdida de control con el uso de frameworks, la Organización en capas de una aplicación, servicios en la web que se combinan.\nSe discutió un poco sobre Testing Unitario vs Test de Integración. Testing con Stubs vs Mocks, la diferencia entre decir que debe hacer un componente y como debe hacerlo.\nSe habló sobre MVVM.";

			{
				ICafeRepository eventoRepository = new CafeRepository();

				Cafe cafe = eventoRepository.Get(cafeId);

				Assert.IsNotNull(cafe);
				Assert.AreEqual("La Inmortalidad de la Medusa - Arquitectura", cafe.Titulo);
				Assert.AreEqual(new DateTime(2010, 08, 27), cafe.Fecha);

				cafe.Sintesis = sintesis;

				eventoRepository.Update(cafe);
			}

			{
				ICafeRepository eventoRepository = new CafeRepository();

				Cafe cafe = eventoRepository.Get(cafeId);

				Assert.IsNotNull(cafe);
				Assert.AreEqual("La Inmortalidad de la Medusa - Arquitectura", cafe.Titulo);
				Assert.AreEqual(new DateTime(2010, 08, 27), cafe.Fecha);
				Assert.AreEqual(sintesis, cafe.Sintesis);

				eventoRepository.Delete(cafe);
			}

			{
				ICafeRepository eventoRepository = new CafeRepository();

				Cafe cafe = eventoRepository.Get(cafeId);

				Assert.IsNull(cafe);
			}
		}

		[Test]
		public void Van_crud()
		{
			Guid vanId;
			{
				var van = new Van
				          	{
				          		Titulo = "TDD - Diseño Basado en Ejemplos",
				          		Ponente = "Carlos Blé",
				          		Fecha = new DateTime(2010, 04, 16)
				          	};
				IVanRepository eventoRepository = new VanRepository();

				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.";

			{
				IVanRepository eventoRepository = new VanRepository();

				Van van = eventoRepository.Get(vanId);

				Assert.IsNotNull(van);
				Assert.AreEqual("Carlos Blé", van.Ponente);
				Assert.AreEqual("TDD - Diseño Basado en Ejemplos", van.Titulo);
				Assert.AreEqual(new DateTime(2010, 04, 16), van.Fecha);

				van.Sintesis = sintesis;
				van.Enlaces = new[] {"www.carlosble.com", "www.dirigidoPorTests.com"};
				van.Fecha = new DateTime(2010, 04, 17);

				eventoRepository.Update(van);
			}

			{
				IVanRepository eventoRepository = new VanRepository();

				Van van = eventoRepository.Get(vanId);

				Assert.IsNotNull(van);
				Assert.AreEqual("Carlos Blé", van.Ponente);
				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.AreEqual("www.carlosble.com", van.Enlaces[0]);
				Assert.AreEqual("www.dirigidoPorTests.com", van.Enlaces[1]);

				eventoRepository.Delete(van);
			}

			{
				IVanRepository eventoRepository = new VanRepository();

				Van van = eventoRepository.Get(vanId);

				Assert.IsNull(van);
			}
		}
	}
}