Files
@ a362783e3bec
Branch filter:
Location: Diana/src/tests/testSgfParser.py - annotation
a362783e3bec
1.2 KiB
text/x-python
exporting SGF back to string, also useful Composed and Point property classes
f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 b66f5379b832 cfcff53c74e6 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 b66f5379b832 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 cfcff53c74e6 f0b8120281b9 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef 2ed7f0dab5ef a362783e3bec a362783e3bec 2ed7f0dab5ef f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 f0b8120281b9 | import unittest
from unittest import TestCase
import os
from sgfParser.collection import Collection
from sgfParser.property import Property
dataDir=os.path.join(os.path.dirname(__file__), "data")
class TestProperty(TestCase):
def testName(self):
self.assertEqual(Property.create("[99]",0), (0,None))
self.assertEqual(Property.create("99[99]",0), (0,None))
i,prop=Property.create("MN[99]",0)
self.assertNotEqual((i,prop), (0,None))
self.assertEqual((i,prop.name), (6,"MN"))
class TestCollection(TestCase):
def testSubtrees(self):
c=Collection("""
(;B[aa]
(;W[ab]PB[Some Black]PW[Some White];B[ac])
(;W[bb]PB[Other Black]PW[Other White])
)""")
games=list(c.listGames())
self.assertEqual(len(games),2)
self.assertRegex(games[0].export(), r"^\(;B\[aa];(PB\[Some Black]|PW\[Some White]|W\[ab]){3};B\[ac]\)$")
self.assertRegex(games[1].export(), r"^\(;B\[aa];(PB\[Other Black]|PW\[Other White]|W\[bb]){3}\)$")
def testEmptySgf(self):
Collection("(;)")
def testSimpleSgf(self):
with open(os.path.join(dataDir, "simple.sgf")) as f:
Collection(f.read())
def testComplexSgf(self):
with open(os.path.join(dataDir, "kogos.sgf")) as f:
Collection(f.read())
if __name__ == '__main__':
unittest.main()
|