annotate Agendas/trunk/src/Agendas.Repositories.Tests/PatrocinadorCrud.cs @ 300:48ab8788bd19

#200: Patrocinadores: Agregar link al sitio web.
author juanjose.montesdeocaarbos
date Mon, 27 Feb 2012 14:45:12 -0300
parents 9bc60d166c8a
children
rev   line source
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
1 using System;
298
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
2 using System.Drawing;
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
3 using System.IO;
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
4 using AltNetHispano.Agendas.Domain;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
5 using AltNetHispano.Agendas.Domain.Repositories;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
6 using NUnit.Framework;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
7
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
8 namespace Agendas.Repositories.Tests
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
9 {
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
10 public class PatrocinadorCrud
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
11 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
12 private readonly IPatrocinadorRepository _patrocinadorRepository;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
13 private readonly Func<IDisposable> _requestEmulator;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
14 private byte[] _logo;
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
15
298
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
16 private static byte[] LoadLogo(string path)
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
17 {
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
18 using (var image = Image.FromFile(path))
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
19 {
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
20 var ms = new MemoryStream();
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
21 image.Save(ms, image.RawFormat);
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
22 return ms.ToArray();
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
23 }
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
24 }
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
25
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
26 public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator)
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
27 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
28 _patrocinadorRepository = createPatrocinadorRepository.Invoke();
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
29 _requestEmulator = requestEmulator;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
30 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
31
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
32 public Guid Create()
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
33 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
34 using (_requestEmulator.Invoke())
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
35 {
300
48ab8788bd19 #200: Patrocinadores: Agregar link al sitio web.
juanjose.montesdeocaarbos
parents: 298
diff changeset
36 var patrocinador = new Patrocinador("APRESS", "http://apress.com/")
298
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
37 {
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
38 Logo = LoadLogo("images/apress.gif")
9bc60d166c8a Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco.
juanjose.montesdeocaarbos
parents: 274
diff changeset
39 };
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
40
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
41 _logo = patrocinador.Logo;
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
42
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
43 _patrocinadorRepository.Save(patrocinador);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
44 return patrocinador.Id;
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
45 }
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
46 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
47
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
48 public void Read()
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
49 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
50 Guid patrocinadorId = Create();
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
51
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
52 using (_requestEmulator.Invoke())
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
53 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
54 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
55
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
56 Assert.IsNotNull(patrocinador);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
57 Assert.AreEqual("APRESS", patrocinador.Nombre);
300
48ab8788bd19 #200: Patrocinadores: Agregar link al sitio web.
juanjose.montesdeocaarbos
parents: 298
diff changeset
58 Assert.AreEqual("http://apress.com/", patrocinador.WebSite);
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
59 Assert.IsNotNull(patrocinador.Logo);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
60 Assert.AreEqual(_logo, patrocinador.Logo);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
61 }
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
62 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
63
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
64 public void Update()
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
65 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
66 Guid patrocinadorId = Create();
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
67
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
68 using (_requestEmulator.Invoke())
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
69 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
70 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
71 Assert.IsNotNull(patrocinador);
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
72
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
73 patrocinador.Nombre = "Apress";
300
48ab8788bd19 #200: Patrocinadores: Agregar link al sitio web.
juanjose.montesdeocaarbos
parents: 298
diff changeset
74 patrocinador.WebSite = "http://apress.com";
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
75 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
76
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
77 using (_requestEmulator.Invoke())
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
78 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
79 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
80
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
81 Assert.IsNotNull(patrocinador);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
82 Assert.AreEqual("Apress", patrocinador.Nombre);
300
48ab8788bd19 #200: Patrocinadores: Agregar link al sitio web.
juanjose.montesdeocaarbos
parents: 298
diff changeset
83 Assert.AreEqual("http://apress.com", patrocinador.WebSite);
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
84 }
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
85 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
86
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
87 public void Delete()
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
88 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
89 Guid patrocinadorId = Create();
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
90
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
91 using (_requestEmulator.Invoke())
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
92 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
93 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
94 Assert.IsNotNull(patrocinador);
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
95
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
96 _patrocinadorRepository.Delete(patrocinador);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
97 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
98
274
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
99 using (_requestEmulator.Invoke())
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
100 {
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
101 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
102 Assert.IsNull(patrocinador);
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
103 }
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
104 }
72a96459f910 Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents: 222
diff changeset
105 }
137
2d1adbaf0373 CRUD de Patrocinador
nelopauselli
parents:
diff changeset
106 }