20/8/2010 16:39
El Bruno
[VS2010] Pex for Fun (ideal para ver quien paga las cervezas ^^)

Buenas,
el equipo de Microsoft Research a cargo de Pex, a creado un sitio más que interesante para que aprendamos un poco más sobre la utilización de Pex y que recordemos conceptos básicos de programacón en más de un caso.
El site Pex for Fun propone una serie de retos (Pex duels) para que sean analizados con Pex. Estos retos son fragmentos de código en C#, Visual Basic.Net y F# que se presentan para que los completemos directamente en el sitio web y luego sean analizados por el motor de Pex.
Por ejemplo, si se nos presenta el siguiente problema “puzzle”, tenemos una función con 2 parámetros de entrada y un código incierto por determinar.
1: using System;
2: using Microsoft.Pex.Framework;
3:
4: public class Program
5: {
6: public static int Puzzle(int x, int y)
7: {
8: // Can you write code to solve the puzzle? Ask Pex to see how close you are.
9: return x;
10: }
11: }
Podemos ver que al momento de analizar el código, el mismo verifica los parámetros y suma los mismos:
La solución rápida que se nos ocurre es la siguiente:
1: using System;
2: using Microsoft.Pex.Framework;
3:
4: public class Program
5: {
6: public static int Puzzle(int x, int y)
7: {
8: // Can you write code to solve the puzzle? Ask Pex to see how close you are.
9: return x + y;
10: }
11: }
Si analizamos nuevamente el reto, vemos que estamos más cerca pero no lo suficiente:
A partir de aquí es necesario modificar un poco más el código, para que el mismo sea correcto.
Lo interesante de esto, es que hay bastantes ejemplos diferentes que van desde escenarios donde hay que ordenar arrays, verificar si un string es un anagrama, etc. Lo recomendable es elegir uno al azar, juntarnos con un compañero y ver quien lo saca en menos tiempo. Eso sí, con una cerveza como premio final pagada por el perdedor.
Saludos @ Home
El Bruno (@elbruno en Twitter)
Recursos
Archivado en: Visual Studio 2010,Code Sample,Microsoft Research
Comparte este post: