<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Snipplr - delm</title>
<link>http://snipplr.com/users/delm</link>
<description>Recent snippets posted on Snipplr.com</description>
<language>en-us</language>
<pubDate>Thu, 20 Jun 2013 16:10:51 GMT</pubDate>
<item>
<title>(C#) Como provar una implementación de Memento.</title>
<link>http://snipplr.com/view/43412/como-provar-una-implementacin-de-memento/</link>
<description><![CDATA[ <p>Tengo una implementación legada de un patrón memento para una clase bastante grande, unas 15 propiedades de las cuales 5 de ellas corresponden a clases con sus propias propiedades adicionales.

Este memento está implementado de manera que un presentador tiene en memoria un objeto del mismo tipo que el modelo con el único propósito de mantener el estado previo, el que luego es restaurado si se necesita hacer un rollback de la edición. El traspaso del estado de un objeto a otro se hace propiedad a propiedad (mediante reflection)

Para hacer una refactorización, necesito generar una cobertura de pruebas unitarias decente para asegurar que el funcionamiento de la aplicación no se vea alterado por las mejoras que se introducirán.

Lo complejo, es que me encuentro haciendo pruebas unitarias muy redundantes, probando propiedad por propiedad que sea restablecido su valor al cancelar la edición.

La otra alternativa que tengo, es hacer un conjunto de asserts en un solo test para probar todas las propiedades de una sola vez, pero es tedioso y una conocida mala práctica de pruebas unitarias.

Ninguno de estos approach me deja convencido, ya que al agregar una propiedad en la clase bajo pruebas (que es posible que suceda) los test la van a dejar fuera de cobertura sin alertarme.

¿Se les ocurre alguna forma de mejorar la situación?</p> ]]></description>
<pubDate>Tue, 02 Nov 2010 07:46:07 GMT</pubDate>
<guid>http://snipplr.com/view/43412/como-provar-una-implementacin-de-memento/</guid>
</item>
<item>
<title>(Bash) Buscar archivos en una carpeta y luego copiarlos a otra</title>
<link>http://snipplr.com/view/31813/buscar-archivos-en-una-carpeta-y-luego-copiarlos-a-otra/</link>
<description><![CDATA[ <p></p> ]]></description>
<pubDate>Wed, 14 Apr 2010 18:04:05 GMT</pubDate>
<guid>http://snipplr.com/view/31813/buscar-archivos-en-una-carpeta-y-luego-copiarlos-a-otra/</guid>
</item>
<item>
<title>(SVN) SVN Merge desde trunk hacia branch</title>
<link>http://snipplr.com/view/18795/svn-merge-desde-trunk-hacia-branch/</link>
<description><![CDATA[ <p>En este ejemplo, las uri apuntan hacia los dos working copy's pero pueden apuntar también hacia URL's de repositorio.</p> ]]></description>
<pubDate>Mon, 24 Aug 2009 16:03:00 GMT</pubDate>
<guid>http://snipplr.com/view/18795/svn-merge-desde-trunk-hacia-branch/</guid>
</item>
<item>
<title>(C) Crear acceso directo</title>
<link>http://snipplr.com/view/18406/crear-acceso-directo/</link>
<description><![CDATA[ <p>Se requiere hacer referencia a la dll `Interop.IWshRuntimeLibrary`.</p> ]]></description>
<pubDate>Mon, 17 Aug 2009 16:30:02 GMT</pubDate>
<guid>http://snipplr.com/view/18406/crear-acceso-directo/</guid>
</item>
<item>
<title>(VB.NET) Asimilar valores de un objeto de la misma clase</title>
<link>http://snipplr.com/view/14582/asimilar-valores-de-un-objeto-de-la-misma-clase/</link>
<description><![CDATA[ <p>Dado un objeto original, este método copia los valores de ese objeto en un segundo objeto de la misma clase, utilizando reflection.</p> ]]></description>
<pubDate>Wed, 29 Apr 2009 14:23:19 GMT</pubDate>
<guid>http://snipplr.com/view/14582/asimilar-valores-de-un-objeto-de-la-misma-clase/</guid>
</item>
<item>
<title>(VB.NET) Decimal aleatorio</title>
<link>http://snipplr.com/view/14581/decimal-aleatorio/</link>
<description><![CDATA[ <p>Retorna un decimal aleatorio entre un mínimo y un máximo.</p> ]]></description>
<pubDate>Wed, 29 Apr 2009 14:15:53 GMT</pubDate>
<guid>http://snipplr.com/view/14581/decimal-aleatorio/</guid>
</item>
<item>
<title>(VB.NET) Número aleatorio</title>
<link>http://snipplr.com/view/14580/nmero-aleatorio/</link>
<description><![CDATA[ <p>Retorna un número aleatorio entre un mínimo y un máximo</p> ]]></description>
<pubDate>Wed, 29 Apr 2009 14:13:19 GMT</pubDate>
<guid>http://snipplr.com/view/14580/nmero-aleatorio/</guid>
</item>
<item>
<title>(VB.NET) String aleatoreo</title>
<link>http://snipplr.com/view/14579/string-aleatoreo/</link>
<description><![CDATA[ <p>Esta función devuelve un string aleatoreo con un largo aleatoreo, con un mínimo y un máximo.
El uso más común es solo especificar el largo máximo.
Especialmente útil para pruebas unitarias.

NOTA: depende de http://snipplr.com/view/14580/nmero-aleatorio/</p> ]]></description>
<pubDate>Wed, 29 Apr 2009 14:12:19 GMT</pubDate>
<guid>http://snipplr.com/view/14579/string-aleatoreo/</guid>
</item>
</channel>
</rss>