Commit graph

22 commits

Author SHA1 Message Date
Olivier Teulière
7f60f532ad FreeGame: fix an infinite game when all the players keep passing forever.
Now the game ends when all the players passed in the last 3 turns.
2015-02-24 23:28:31 +01:00
Olivier Teulière
88b6e09ffb Tests: move test cases to sub-directories 2012-10-06 01:41:59 +02:00
Olivier Teulière
6391dd34e1 Added non-regression tests for saved games, in all modes 2012-04-28 15:34:37 +02:00
Olivier Teulière
53adb5d91b Saved games: do not support the (very) old format anymore 2012-04-08 20:57:46 +02:00
Olivier Teulière
3d48facb55 Cosmetics 2011-08-28 19:25:26 +02:00
Olivier Teulière
d6fbd6bef1 Allow combining several variants in a single game 2011-08-28 18:47:25 +02:00
Olivier Teulière
306d1e10bf Added tests for the "7 among 8" mode 2011-08-28 15:29:11 +02:00
Olivier Teulière
3c7a84d543 Support saving/loading games (any game type) in XML format.
Status:
It works well, but there are still a few details to improve/fix

More details about the changes:
 - New dependency on Arabica and Libxml2 to parse the XML
 - Loading the old format is still supported for this release, but won't be supported anymore in the next one
 - Games are now only saved in the new format
 - In training mode, the player is now created externally, like in the other modes
 - Avoid using GameIO (the one from game/) whenever possible
 - Do not use a FILE* argument anymore when loading a game
 - Throw and catch exceptions correctly when a game cannot be loaded or saved
 - The non-regression tests now use a new method to print the game history
2009-11-29 16:01:31 +00:00
Olivier Teulière
6f9a343677 - Fixed the previous fix for joker games, for real this time
- Added tests for joker and explosive games in all modes
2009-02-21 16:56:32 +00:00
Olivier Teulière
7a5056354a - Setting the rack manually is now done via a command, and can thus be undone
- Added non-regression tests for the navigation in the game history (all modes), and removed a less useful test
2009-01-24 10:28:20 +00:00
Olivier Teulière
f3b4930dbe New test for a duplicate game where the only valid move in one turn scores 0 point 2008-11-23 18:56:49 +00:00
Olivier Teulière
13f2e8daad - Really fixed duplicate games when noone plays a valid move
- Added a unit test to ensure it
 - Fixed Game::back() (this fixes some unit tests broken by a previous commit)
 - Added a unit test for a duplicate game with only one player
2008-11-23 18:18:02 +00:00
Olivier Teulière
350666b568 - The last commit in cross.cpp fixed a bug but introduced another one, now both are fixed
- Added unit tests for both bugs
 - Fixed another bug preventing to enter some letters in the training rack
2008-10-15 19:43:23 +00:00
Olivier Teulière
12cc41fce7 Core:
- Fixed a crash on Windows
 - Do not authorize words if the cross-checks are invalid (it was possible when playing a joker)
 - Fixed detextion of invalid moves
 - Improved unit tests, and fixed a bug in one of them

Qt interface:
 - Do not allow playing a word if the coordinates are missing
 - Better focus
2008-09-13 21:32:45 +00:00
Olivier Teulière
8c3708fa99 - Removed Game::setRackRandomOld() (replaced by Game::setRackRandom())
- Adapted regression scenarii
2008-01-15 14:56:38 +00:00
Olivier Teulière
e7a8d01a8d Merged the "cppdic" branch back into HEAD.
There are too many change to list properly, here is an overview of the main changes:
 - the dictionary is now in C++
 - the dictionary has a new format, where it is possible to specify the letters,
   their points, their frequency, ... It is backwards compatible.
 - Eliot now supports non-ASCII characters everywhere
 - i18n of the compdic, listdic, regexpmain binaries
 - i18n of the wxWidgets interface (now in english by default)
2008-01-08 13:52:32 +00:00
Antoine Fraboulet
f0949a59de - adding some tests : training_joker2 still fails, no clue where it comes from
search should find much more results - regression from 1.4
2006-11-05 13:34:27 +00:00
Antoine Fraboulet
a97b91dfe6 - add new regression test for a bug on loading previously saved games 2006-08-11 22:04:45 +00:00
Antoine Fraboulet
f6fa78c32c - driver
add "training_cross" test that checks horizontal scores in board_cross.cpp
    add several load/save tests
    add regexp test

  - Corrections
       training_search.ref : correcting reference file - 5 points instead of 4 on (Eh, En, Es, Ex)
       training_back.ref : sorting order (linked to points bug - insertion order in list)
       duplicate_2_ai.ref : correct score, change the whole game
       freegame_passing.ref : correct score (JEUNE H11 +2 : 45 -> 47)
       freegame_3_ai.ref : correct score 13:CAPEYE+4, 14:VOLETE+3, 16:FULL+2, 17:VIDE+5
2006-01-01 19:25:10 +00:00
Antoine Fraboulet
644653be0a - add regression test for Game::load - this test currently fails with a segfault 2005-12-27 09:13:48 +00:00
Antoine Fraboulet
e9dca4ea65 - adding regression test for Game::back() method 2005-12-27 01:04:49 +00:00
Olivier Teulière
25304bd978 test/*: Added non-regression tests, based on the text interface.
'regression.pl' is the script that runs the regression, and 'drivers' contains
the list of scenario files to be played.
By default, the complete regerssion is played, but you can play specific
scenarios by adding them to the command-line.
Example: ./regression.pl training_bag freegame_change
2005-04-16 15:47:59 +00:00