annotate 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
rev   line source
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
1 using System;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
2 using AltNetHispano.Agendas.Domain;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
3 using AltNetHispano.Agendas.Domain.Repositories;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
4 using NUnit.Framework;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
5
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
6 namespace AltNetHispano.Agendas.Tests.Workflows
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
7 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
8 internal class Workflow
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
9 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
10 private readonly Agenda _agenda;
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
11
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
12 public Workflow(IPublicador publicador, IEventoRepository eventoRepository, IPersonaRepository personaRepository)
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
13 {
94
db4b1e2cae49 Cambio del nombre de la clase Ponente a Persona
Nelo@Kenia.neluz.int
parents: 87
diff changeset
14 _agenda = new Agenda(publicador, eventoRepository, personaRepository);
81
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
15 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
16
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
17 public void Proponer()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
18 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
19
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
20 var resultado = _agenda.Proponer("SOLID", "Jorge", null);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
21 Assert.IsTrue(resultado.Succeful);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
22 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
23
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
24
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
25 public void Agendar()
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
26 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
27 var resultado = _agenda.Agendar("SOLID", "Jorge", DateTime.Today.AddDays(5), null);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
28 Assert.IsTrue(resultado.Succeful);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
29 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
30
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
31 public void Confirmar(Guid eventoId)
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
32 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
33 var resultado = _agenda.Confirmar(eventoId);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
34 Assert.IsTrue(resultado.Succeful);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
35 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
36
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
37 public void Publicar(Guid eventoId)
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
38 {
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
39 var resultado = _agenda.Publicar(eventoId);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
40 Assert.IsTrue(resultado.Succeful);
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
41 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
42 }
c76661cff260 Workflow de acciones sobre un evento (camino feliz)
nelopauselli
parents:
diff changeset
43 }