view Agendas/trunk/src/Agendas.Tests/EventoTests.cs @ 24:41b283d27e3e

Ponentes como entidad Agenda no es una entidad persistente (por ahora)
author nelo@MTEySS.neluz.int
date Tue, 15 Mar 2011 07:49:53 -0300
parents 05996fa19e04
children 475be11edf56
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 Van_crud()
		{
			Guid vanId;
			{
				var van = new Evento
				          	{
				          		Titulo = "TDD - Diseño Basado en Ejemplos",
				          		Ponente = new Ponente {Nombre = "Carlos Blé"},
				          		Fecha = 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.Sintesis = sintesis;
				van.Enlaces = new[] {"www.carlosble.com", "www.dirigidoPorTests.com"};
				van.Fecha = new DateTime(2010, 04, 17);

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

				eventoRepository.Delete(van);
			}

			{
				IEventoRepository eventoRepository = new EventoRepository();

				Evento van = eventoRepository.Get(vanId);

				Assert.IsNull(van);
			}
		}
	}
}