Mercurial > altnet-hispano
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 | 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 | 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 | 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 | 40 |
274
72a96459f910
Ticket #123: Patrocinadores de las vans.
juanjose.montesdeocaarbos
parents:
222
diff
changeset
|
41 _logo = patrocinador.Logo; |
137 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 106 } |