view Agendas/trunk/src/Agendas.Tests/EventoTests.cs @ 1:6bb4ab4c0611

Tests de Crud para repositorio de Vans
author nelopauselli
date Sat, 22 Jan 2011 19:50:32 -0300
parents
children c03560ae4762
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 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 VanRepositoryMemory();

				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 VanRepositoryMemory();

				var 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 VanRepositoryMemory();

				var 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 VanRepositoryMemory();

				var van = eventoRepository.Get(vanId);

				Assert.IsNull(van);
			}
		}
	}
}