Details can be found at [url removed, login to view] Specifications * A web based holdem hand simulator * A control panel displays the number of players * At any time the user can change the value of a card that was automaticaly dealt * The odds are updated accordingly * Two hole cards are dealts to each player, face up * The odds for each player are displayed next to the card * The flop is dealt and the odds are updated * The turn is dealt and the odds are updated * The river is dealt * The odds are displayed in a 4-1 instead of 18% fashion Use Cases * celine opens the [url removed, login to view] page * celine selects 6 players and hits "Run" * the hole card shows * celine changes the value of the hole cards of player three to see how the odds vary * after 10 seconds the flop shows * celine clicks on the "Go" button to display the turn * after 10 seconds the river shows * the game pauses until celine hits "Run"
A1) Complete and precise implementation of the description of the bid request.
A2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
A3) Deliverables must be in ready-to-run condition, as follows: a software installation package that will install the software in ready-to-run condition for Debian GNU/Linux.
A4) The software package source form must be suitable for the debuild command, be lintian clean and install properly with pbuilder.
A5) The software installation package must be provided with the first status report and updated for each status report.
A6) Buyer will receive exclusive and complete copyrights to all work purchased. Third party software may be included as long as they are published under a license compatible with the GNU GPL.
A7) Software must obey the GNU coding standards as found at [url removed, login to view]
A8) Software must be platform and os independent.
A9) Software must be provided with a mercurial repository initialized when the work started
A10) The work must be commited under mercurial on a daily basis.
A11) The reason for each change (not the change itself) must be explained in the ChangeLog file at the root the package tree.
R1) A set of unit tests covering 100% of the code written or modified for the job. There is no need to cover the code that already existed and that was not modified.
R2) a single command without argument must run all the unit tests, report the total percentage of coverage and list all the lines of code (either python, c, c++ or java) that are not covered.
R3) Implement a verbose mode for running the tests so identifying which unit test fails and why is straightforward.
W1) A set of selenium ( [url removed, login to view] ) tests files containing all the URLs involved in the bid request.
W2) All the selenium tests can be run in sequence with success, even if it implies to login into a service, meaning a login specific to the tests has to be created.
W3) The normal user interactions expected at a given URL must be tested with a selenium test that do not test other URLs. The test must fail if the user interaction does not produce the expected result.