Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Cucumber training for Ruby, Java and C# (Cucumber, Cuke4Duke and Cuke4Nuke)

branch: master
README.textile

Poker

Du jobber for en TV stasjon som sender programmet “Kjendispoker”. Kjendiser kommer i studio og spiller poker,
og en annen kjendis er vert. Selv om vertene som regel er pene er de ikke alltid like smarte, og hver runde må
avgjøres rast. Derfor her Kjendispoker behov for en automat som kan avgjøre hvem som vinner hver runde.

Spillerne spiller med ekte kort. Det finnes kameraer i studio som kan se alle spillernes kort, og tanken er at
en operatør skal sitte og skrive inn kortene som hver spiller sitter med på hånden inn i et program. Programmet
skal kunne avgjøre hvilken av spillerne som har den beste hånden ved en “showdown”, og vise både navnet på kombinasjonen
og navnet på vinneren på en skjerm som verten kan se.

Det finnes mange forskjellige varianter av poker, men på Kjendispoker spilles det alltid Texas Hold’em. Hver hånd rangeres som beskrevet i List of poker hands. Siden det spilles Texas Hold’em må operatøren
også kunne skrive inn kortene som ligger på bordet.

Det brukes ikke jokere i spillet.

Oppgave

Lag en liste over all funksjonalitet som skal utvikles og del dette opp i mindre oppgaver slik at oppgavene
kan fordeles i et team. For å vise framdrift i prosjektet skal det hver time plottes inn framdrift i et CFD
diagram. Et CFD diagram kan lages ved å kopiere dette Google Documentet. Det er en tilpasset versjon av regnearket som beskrives i
denne artikkelen

Bruk IRC til å dele lenken til CFD diagrammet du har opprettet for ditt team:
http://webchat.freenode.net/?channels=reykjavik2010

Lag en enkel “tavle” på bordet eller veggen med 4 kolonner: “Backlog”, “Under utvikling”, “Klar til godkjenning”, “Godkjent”.
Stasjonene “Under utvikling” og “Klar til godkjenning” har hver en WIP-limit på antall par.

Bruk Cucumber til å beskrive forventet oppførsel til spillet. Ved behov kan man også bruke NUnit, JUnit,
RSpec eller Test::Unit (for enhetstester).

Utvikling skal skje i par, og det skal benyttes “ping pong” programmering. Dvs person 1 skriver et scenario
(evt enhetstest), person 2 gjør den grønn så enkelt som mulig. Person 2 skriver et scenario osv. Når man mener
en oppgave er ferdig må man få godkjenning fra produkteier.

Kode

Prosjektet er satt opp for å fungere med “vanlig” Cucumber (Ruby), Cuke4Duke (Java) og Cuke4Duke (C#).

Installer Ruby (ikke nødvendig for Java)

Ruby

Forberedelser

Fjerne features/step_definitions/cucumber.wire
Fjerne evt annet ikke-ruby.

gem install cucumber rspec

Kjøre Cucumber

rake

Java

Forberedelser

Fjerne evt annet ikke-java.

mvn integration-test -Dcucumber.installGems=true

Kjøre Cucumber

mvn integration-test

C#

Forberedelser

Fjerne features/step_definitions/game_steps.rb
Fjerne evt annet ikke-.net.

Farger: http://github.com/aslakhellesoy/wac

gem install cuke4nuke win32console

Kjøre Cucumber

Bygg løsningen i Visual Studio


cuke4nuke bin\Release\Poker.dll -c features | wac

Se også Gojko Adzic sin Cuke4Nuke tutorial

Problemer

Hvis du finner feil i Cucumber, Cuke4Nuke eller Cuke4Duke – vennligst registrer en feil i de respektive trackere:

Generelle spørsmål kan stilles på mailing lista eller IRC. See http://cukes.info for detaljer.

Something went wrong with that request. Please try again.