view Agendas/trunk/src/Agendas.Tests/Workflows/Workflow.cs @ 101:9bfdd5bf3ad2

Manejo de estados de los Eventos mediante state pattern (primer version)
author jorge.rowies
date Sun, 05 Jun 2011 11:10:32 -0300
parents db4b1e2cae49
children 1d820f17fc75
line wrap: on
line source

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

namespace AltNetHispano.Agendas.Tests.Workflows
{
	internal class Workflow
	{
		private readonly Agenda _agenda;

		public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository)
		{
			_agenda = new Agenda(publicador, eventoRepository, personaRepository);
		}

		public void Proponer()
		{

			var resultado = _agenda.Proponer("SOLID", "Jorge", null);
			Assert.IsTrue(resultado.Succeful);
		}


		public void Agendar()
		{
			var resultado = _agenda.Agendar("SOLID", "Jorge", DateTime.Today.AddDays(5), null);
			Assert.IsTrue(resultado.Succeful);
		}

		public void Confirmar(Guid eventoId)
		{
			var resultado = _agenda.Confirmar(eventoId);
			Assert.IsTrue(resultado.Succeful);
		}

		public void Publicar(Guid eventoId)
		{
			var resultado = _agenda.Publicar(eventoId);
			Assert.IsTrue(resultado.Succeful);
		}
	}
}