diff options
author | Gökçen Eraslan <gokcen.eraslan@gmail.com> | 2016-01-07 17:35:04 +0100 |
---|---|---|
committer | Gökçen Eraslan <gokcen.eraslan@gmail.com> | 2016-01-07 17:35:04 +0100 |
commit | c7276ad4f627d3c3569996519de001431c04b1c0 (patch) | |
tree | cd3ae38a9d500ab53f4b434cff315c526be05f54 /bindings | |
parent | 6c0e2acad583f74883510e00876331329bb4b8a0 (diff) |
Tidy up Python test file and add extra vector typemaps to swig file.
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/python/test.py | 73 | ||||
-rw-r--r-- | bindings/quackle.i | 3 |
2 files changed, 48 insertions, 28 deletions
diff --git a/bindings/python/test.py b/bindings/python/test.py index a5e2373..3a95808 100644 --- a/bindings/python/test.py +++ b/bindings/python/test.py @@ -2,40 +2,57 @@ import quackle -# Set up the data manager -dm = quackle.DataManager() -dm.setComputerPlayers(quackle.ComputerPlayerCollection.fullCollection()) -dm.setBackupLexicon('twl06') -dm.setAppDataDirectory('../../data') - -# Set up the alphabet -abc = quackle.AlphabetParameters.findAlphabetFile('english') -fa = quackle.FlexibleAlphabetParameters() -assert fa.load(quackle.Util.stdStringToQString(abc)) -dm.setAlphabetParameters(fa) - -# Set up the board -board = quackle.BoardParameters() -dm.setBoardParameters(board) - -# Find the lexicon -dawg = quackle.LexiconParameters.findDictionaryFile('twl06.dawg') -gaddag = quackle.LexiconParameters.findDictionaryFile('twl06.gaddag') -dm.lexiconParameters().loadDawg(dawg) -dm.lexiconParameters().loadGaddag(gaddag) - -dm.strategyParameters().initialize('twl06') +def startUp(lexicon='twl06', + alphabet='english', + datadir='../../data'): + + # Set up the data manager + dm = quackle.DataManager() + dm.setComputerPlayers(quackle.ComputerPlayerCollection.fullCollection()) + dm.setBackupLexicon(lexicon) + dm.setAppDataDirectory(datadir) + + # Set up the alphabet + abc = quackle.AlphabetParameters.findAlphabetFile(alphabet) + abc2 = quackle.Util.stdStringToQString(abc) #convert to qstring + fa = quackle.FlexibleAlphabetParameters() + fa.thisown = False + + assert fa.load(abc2) + dm.setAlphabetParameters(fa) + + # Set up the board + board = quackle.BoardParameters() + board.thisown = False + dm.setBoardParameters(board) + + # Find the lexicon + dawg = quackle.LexiconParameters.findDictionaryFile(lexicon + '.dawg') + gaddag = quackle.LexiconParameters.findDictionaryFile(lexicon + '.gaddag') + dm.lexiconParameters().loadDawg(dawg) + dm.lexiconParameters().loadGaddag(gaddag) + + dm.strategyParameters().initialize(lexicon) + return dm + + +def getComputerPlayer(dm, name='Speedy Player'): + player, found = dm.computerPlayers().playerForName(name) + assert found + player = player.computerPlayer() + return player + + +dm = startUp() # Create a computer player -player1, found = dm.computerPlayers().playerForName('Speedy Player') -assert found -player1 = player1.computerPlayer() +player1 = getComputerPlayer(dm) print player1.name() # Create the Game file (.gcg) reader gamereader = quackle.GCGIO() -game = gamereader.read(quackle.Util.stdStringToQString('../../test/positions/short_game_with_bad_moves.gcg'), - quackle.Logania.MaintainBoardPreparation) +gamePath = quackle.Util.stdStringToQString('../../test/positions/short_game_with_bad_moves.gcg') +game = gamereader.read(gamePath, quackle.Logania.MaintainBoardPreparation) # Get the current position position = game.currentPosition() diff --git a/bindings/quackle.i b/bindings/quackle.i index 8ded915..cc8e390 100644 --- a/bindings/quackle.i +++ b/bindings/quackle.i @@ -49,6 +49,9 @@ %include "fixedstring.h" %include "uv.h" %include "alphabetparameters.h" + +%template(LetterParameterVector) std::vector<Quackle::LetterParameter>; +%template(LetterStringVector) std::vector<Quackle::LetterString>; %include "move.h" %include "rack.h" %include "bag.h" |