Seguindo a idéia do Kata do Uncle Bob de números primos, fiz o mesmo Kata em C# e gravei o vídeo. Treinei um pouco, e foi um exercício interessante, fiquei bom o suficiente pra bater o Kata em dez minutos. Uma das coisas mais interessantes é praticar o TDD, com uma grande ajuda do Resharper e do TestDriven.Net. Usei o framework de testes Gallio (MbUnit), porque o MSTest não possui um método de Assert que compare coleções, e o MbUnit possui, então fui com ele.
A idéia do Kata é criar um software que permita decompor o fator primo de qualquer número. Assim, ele deve receber o número a ser decomposto, e retornar uma lista destes números. No meu caso, este é o teste do fatorial de 6:
[Test]
public void Deve_Fatorar_6()
{
Assert.AreElementsEqual(new[] { 2, 3 }, Fatorial.Fatorar(6));
}
Ou seja, o método Fatorar deve retornar uma lista dos primos que compõe 6, ou seja, 2 e 3.
Pra quem quiser ver, o vídeo está no Viddler, e no final tem a solução. Não me inspirei só na idéia do Uncle Bob, mas também no formato do vídeo, espero que gostem (feedbacks, como sempre, são bem vindos).
Fiz também com IronRuby, e realmente é nos testes que o Ruby arrebenta. Foi também muito interessante.
A solução também está aqui para download. Você também pode ver a solução do Uncle Bob com Java, desta vez com uma apresentação do Powerpoint.
E você, já fez o exercício? O que achou? Quais outros Katas você já fez?
(Em tempo: se você me segue no twitter viu o vídeo antes, anunciei por lá na segunda-feira.)
Postado na(s) categoria(s)
Kata
pelo
Giovanni Bassi em 14 de outubro de 2009 às 09:21
| Tags:
c#,
testes,
ruby,
tdd,
webcast
3e933378-e6f6-48cb-8558-464d901aa01e|1|5.0