Mercurial > altnet-hispano
view 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 |
line wrap: on
line source
using System; using System.Drawing; using System.IO; using System.Linq; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Domain.Repositories; using NUnit.Framework; namespace AltNetHispano.Agendas.Tests.Cruds { public class PatrocinadorCrud { private readonly IPatrocinadorRepository _patrocinadorRepository; private readonly Func<IDisposable> _requestEmulator; private byte[] _logo; public PatrocinadorCrud(Func<IPatrocinadorRepository> createPatrocinadorRepository, Func<IDisposable> requestEmulator) { _patrocinadorRepository = createPatrocinadorRepository.Invoke(); _requestEmulator = requestEmulator; } public Guid Create() { using (_requestEmulator.Invoke()) { var patrocinador = new Patrocinador("APRESS"); var image = Image.FromFile("images/apress.gif"); var ms = new MemoryStream(); image.Save(ms, image.RawFormat); _logo = ms.ToArray(); patrocinador.Logo = _logo; _patrocinadorRepository.Save(patrocinador); return patrocinador.Id; } } public void Read() { Guid patrocinadorId = Create(); using (_requestEmulator.Invoke()) { var patrocinador = _patrocinadorRepository.Get(patrocinadorId); Assert.IsNotNull(patrocinador); Assert.AreEqual("APRESS", patrocinador.Nombre); Assert.IsNotNull(patrocinador.Logo); Assert.AreEqual(_logo, patrocinador.Logo); } } public void Update() { Guid patrocinadorId = Create(); using (_requestEmulator.Invoke()) { var patrocinador = _patrocinadorRepository.Get(patrocinadorId); Assert.IsNotNull(patrocinador); patrocinador.Nombre = "Apress"; } using (_requestEmulator.Invoke()) { var patrocinador = _patrocinadorRepository.Get(patrocinadorId); Assert.IsNotNull(patrocinador); Assert.AreEqual("Apress", patrocinador.Nombre); } } public void Delete() { Guid patrocinadorId = Create(); using (_requestEmulator.Invoke()) { var patrocinador = _patrocinadorRepository.Get(patrocinadorId); Assert.IsNotNull(patrocinador); _patrocinadorRepository.Delete(patrocinador); } using (_requestEmulator.Invoke()) { var patrocinador = _patrocinadorRepository.Get(patrocinadorId); Assert.IsNull(patrocinador); } } } }