Ejemplo n.º 1
0
 def test_upper_and_lowercase_property(self):
     input_string = "(;Aa[b])"
     with self.assertRaises(ValueError) as err:
         parse(input_string)
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0],
                      "property must be in uppercase")
Ejemplo n.º 2
0
 def test_multiple_properties(self):
     input_string = '(;A[b]C[d])'
     expected = SgfTree(
         properties={'A': ['b'],
                     'C': ['d']}
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 3
0
 def test_multiple_properties(self):
     input_string = '(;A[b]C[d])'
     expected = SgfTree(
         properties={'A': ['b'],
                     'C': ['d']}
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 4
0
 def test_two_child_trees(self):
     input_string = "(;A[B](;B[C])(;C[D]))"
     expected = SgfTree(
         properties={"A": ["B"]},
         children=[SgfTree({"B": ["C"]}), SgfTree({"C": ["D"]})],
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 5
0
 def test_two_child_trees(self):
     input_string = '(;A[B](;B[C])(;C[D]))'
     expected = SgfTree(
         properties={'A': ['B']},
         children=[SgfTree({'B': ['C']}),
                   SgfTree({'C': ['D']})])
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 6
0
 def test_two_nodes(self):
     input_string = '(;A[B];B[C])'
     expected = SgfTree(
         properties={'A': ['B']},
         children=[
             SgfTree({'B': ['C']})
         ]
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 7
0
 def test_two_nodes(self):
     input_string = '(;A[B];B[C])'
     expected = SgfTree(
         properties={'A': ['B']},
         children=[
             SgfTree({'B': ['C']})
         ]
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 8
0
 def test_two_child_trees(self):
     input_string = '(;A[B](;B[C])(;C[D]))'
     expected = SgfTree(
         properties={'A': ['B']},
         children=[
             SgfTree({'B': ['C']}),
             SgfTree({'C': ['D']}),
         ]
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 9
0
 def test_upper_and_lowercase_property(self):
     input_string = '(;Aa[b])'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 10
0
 def test_properties_without_delimiter(self):
     input_string = '(;A)'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 11
0
 def test_tree_with_no_nodes(self):
     input_string = "()"
     with self.assertRaises(ValueError) as err:
         parse(input_string)
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "tree with no nodes")
Ejemplo n.º 12
0
 def test_escaped_property(self):
     input_string = "(;A[\]b\nc\nd\t\te \n\]])"
     expected = SgfTree(properties={"A": ["]b\nc\nd  e \n]"]})
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 13
0
 def test_two_nodes(self):
     input_string = "(;A[B];B[C])"
     expected = SgfTree(properties={"A": ["B"]},
                        children=[SgfTree({"B": ["C"]})])
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 14
0
 def test_properties_without_delimiter(self):
     input_string = "(;A)"
     with self.assertRaises(ValueError) as err:
         parse(input_string)
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "properties without delimiter")
Ejemplo n.º 15
0
 def test_multiple_property_values(self):
     input_string = '(;A[b][c][d])'
     expected = SgfTree(
         properties={'A': ['b', 'c', 'd']}
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 16
0
 def test_node_without_tree(self):
     input_string = ";"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 17
0
 def test_empty_input(self):
     input_string = ''
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 18
0
 def test_all_lowercase_property(self):
     input_string = '(;a[b])'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 19
0
 def test_single_node_tree(self):
     input_string = '(;A[B])'
     expected = SgfTree(properties={'A': ['B']})
     self.assertEqual(parse(input_string), expected)
 def test_node_invalid_tree(self):
     input_string = "(A;)"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 21
0
 def test_node_without_tree(self):
     input_string = ";"
     with self.assertRaises(ValueError) as err:
         parse(input_string)
     self.assertEqual(type(err.exception), ValueError)
     self.assertEqual(err.exception.args[0], "tree missing")
Ejemplo n.º 22
0
 def test_single_node_tree(self):
     input_string = "(;A[B])"
     expected = SgfTree(properties={"A": ["B"]})
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 23
0
 def test_properties_without_delimiter(self):
     input_string = "(;A)"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 24
0
 def test_escaped_property(self):
     input_string = '(;A[\]b\nc\nd\t\te \n\]])'
     expected = SgfTree(
         properties={'A': [']b\nc\nd  e \n]']}
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 25
0
from sgf_parsing import parse, SgfTree

#expected = SgfTree(properties={'A': ['B']})
#print(expected)

input_string = '(;a[b])'
parse(input_string)
Ejemplo n.º 26
0
 def test_tree_with_no_nodes(self):
     input_string = "()"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 27
0
 def test_multiple_property_values(self):
     input_string = '(;A[b][c][d])'
     expected = SgfTree(
         properties={'A': ['b', 'c', 'd']}
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 28
0
 def test_node_without_properties(self):
     input_string = "(;)"
     expected = SgfTree()
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 29
0
 def test_escaped_property(self):
     input_string = '(;A[\]b\nc\nd\t\te \n\]])'
     expected = SgfTree(
         properties={'A': [']b\nc\nd  e \n]']}
     )
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 30
0
 def test_multiple_properties(self):
     input_string = "(;A[b]C[d])"
     expected = SgfTree(properties={"A": ["b"], "C": ["d"]})
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 31
0
 def test_tree_with_no_nodes(self):
     input_string = '()'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 32
0
 def test_upper_and_lowercase_property(self):
     input_string = "(;Aa[b])"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 33
0
 def test_node_without_tree(self):
     input_string = ';'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 34
0
 def test_multiple_property_values(self):
     input_string = "(;A[b][c][d])"
     expected = SgfTree(properties={"A": ["b", "c", "d"]})
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 35
0
 def test_node_without_properties(self):
     input_string = '(;)'
     expected = SgfTree()
     self.assertEqual(parse(input_string), expected)
Ejemplo n.º 36
0
 def test_empty_input(self):
     input_string = ""
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Ejemplo n.º 37
0
 def test_single_node_tree(self):
     input_string = '(;A[B])'
     expected = SgfTree(properties={'A': ['B']})
     self.assertEqual(parse(input_string), expected)