Olá pessoal, hoje tivemos nosso décimo oitavo Coding Dojo. Contamos com a participação da nova programadora contratada, a Nelma, Seja bem vinda!
Nosso segundo contato com o Cucumber, ainda tivemos um pouco de dificuldade para trabalhar com BDD (Behavior Driven Development), talvez pela cultura criada pelos Dojos passados. Porém o barco andou e o Dojo foi bem interessante. Também tivemos o sorteio da próxima sequencia de curadores, ficou a seguinte sequência:
- Marco Moura e Patrícia Carvalho
- Natália Marcondes e Luciana Mendes
- Carlos Eduardo e Nelma
- Salomão e próximo sorteado
E pra encerrar, ainda tivemos o café. Que contou até com Panetone de Mousse. =)
Origem do kata: http://codingdojo.org/cgi-bin/wiki.pl?KataTennis
Código Fonte: https://gist.github.com/734600
env.rb
# encoding: utf-8 begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end require 'cucumber/formatter/unicode' $:.unshift(File.dirname(__FILE__) + '/../../lib') require "tennis"
tenis.feature
Funcionalidade: Partidade de tênis Para gerenciar uma partida de tênis Como um juiz Eu quero cadastrar os pontos Cenário: Jogador 1 vence a partida de zero Dado que a bola inicia com o jogador um Quando o jogador um marca 15 pontos E o jogador um marca 30 pontos E o jogador um marca 40 pontos E o jogador um marca ponto final Então o jogador um vence a partida Cenário: Jogador 2 vence a partida de zero Dado que a bola inicia com o jogador um Quando o jogador 2 marca 15 pontos E o jogador 1 marca 15 pontos E o jogador 2 marca 30 pontos E o jogador 2 marca 40 pontos E o jogador 2 marca ponto final Então o jogador 2 vence a partida
tenis_steps.rb
# encoding: utf-8 Dado /^que a bola inicia com o jogador um$/ do @tennis = Tennis.new end Quando /^o jogador um marca (\d+) pontos$/ do |arg1| @tennis.jogador1 = arg1.to_i @tennis.jogador1.should == arg1.to_i end Quando /^o jogador um marca ponto final$/ do @tennis.jogador1 = 41 @tennis.jogador1.should > 40 end Então /^o jogador um vence a partida$/ do @tennis.vencedor().should == "Jogador1 eh o vencedor" end Quando /^o jogador (\d+) marca (\d+) pontos$/ do |qual_jogador, pontos| @tennis.jogador2 = pontos.to_i @tennis.jogador2.should == pontos.to_i end Quando /^o jogador (\d+) marca ponto final$/ do |arg1| @tennis.jogador2 = 41 @tennis.jogador2.should > 40 end Então /^o jogador (\d+) vence a partida$/ do |arg1| @tennis.vencedor().should == "Jogador2 eh o vencedor" end
tennis.rb
class Tennis attr_accessor :jogador1 , :jogador2 def vencedor() if jogador1 == 41 "Jogador1 eh o vencedor" else "Jogador2 eh o vencedor" end end end
Retrospectiva
Ruim
- Projetor
- Atraso dos Participantes
- Faltou copias do Kata
- Kata mal Explicado
- Substituição do PC do Dojo
- Falta de conhecimento em Cucumber
- Falta de Foco
Bom
- Nelma – nova integrante
- Melhorou um pouco conhecimento em cucumber
- kata
- Café e Panetone
- Contato com IMac
- Textmate
- Curadores
- Explicação das Regras
Para os próximos
- Estudar mais cucumber
- Brincadeira na hora certa
Fotos do Encontro