comparison Agendas/trunk/src/Agendas.Tests/Cruds/PatrocinadorCrud.cs @ 137:2d1adbaf0373

CRUD de Patrocinador
author nelopauselli
date Thu, 28 Jul 2011 09:26:24 -0300
parents
children 62791999ad01
comparison
equal deleted inserted replaced
136:462a78196d11 137:2d1adbaf0373
1 using System;
2 using System.Drawing;
3 using System.IO;
4 using System.Linq;
5 using AltNetHispano.Agendas.Domain;
6 using AltNetHispano.Agendas.Domain.Repositories;
7 using NUnit.Framework;
8
9 namespace AltNetHispano.Agendas.Tests.Cruds
10 {
11 public class PatrocinadorCrud
12 {
13 private readonly IPatrocinadorRepository _patrocinadorRepository;
14 private readonly Func<IDisposable> _requestEmulator;
15 private byte[] _logo;
16
17 public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator)
18 {
19 _patrocinadorRepository = createPatrocinadorRepository.Invoke();
20 _requestEmulator = requestEmulator;
21 }
22
23 public Guid Create()
24 {
25 using (_requestEmulator.Invoke())
26 {
27 var patrocinador = new Patrocinador("APRESS");
28
29 var image = Image.FromFile("images/apress.gif");
30 var ms = new MemoryStream();
31 image.Save(ms, image.RawFormat);
32 _logo = ms.ToArray();
33
34 patrocinador.Logo = _logo;
35
36 _patrocinadorRepository.Save(patrocinador);
37 return patrocinador.Id;
38 }
39 }
40
41 public void Read()
42 {
43 Guid patrocinadorId = Create();
44
45 using (_requestEmulator.Invoke())
46 {
47 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
48
49 Assert.IsNotNull(patrocinador);
50 Assert.AreEqual("APRESS", patrocinador.Nombre);
51 Assert.IsNotNull(patrocinador.Logo);
52 Assert.AreEqual(_logo, patrocinador.Logo);
53 }
54 }
55
56 public void Update()
57 {
58 Guid patrocinadorId = Create();
59
60 using (_requestEmulator.Invoke())
61 {
62 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
63 Assert.IsNotNull(patrocinador);
64
65 patrocinador.Nombre = "Apress";
66 }
67
68 using (_requestEmulator.Invoke())
69 {
70 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
71
72 Assert.IsNotNull(patrocinador);
73 Assert.AreEqual("Apress", patrocinador.Nombre);
74 }
75 }
76
77 public void Delete()
78 {
79 Guid patrocinadorId = Create();
80
81 using (_requestEmulator.Invoke())
82 {
83 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
84 Assert.IsNotNull(patrocinador);
85
86 _patrocinadorRepository.Delete(patrocinador);
87 }
88
89 using (_requestEmulator.Invoke())
90 {
91 var patrocinador = _patrocinadorRepository.Get(patrocinadorId);
92 Assert.IsNull(patrocinador);
93 }
94 }
95 }
96 }