Esempio 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")
Esempio 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)
 def test_multiple_properties(self):
     input_string = '(;A[b]C[d])'
     expected = SgfTree(
         properties={'A': ['b'],
                     'C': ['d']}
     )
     self.assertEqual(parse(input_string), expected)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio 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)
Esempio n. 9
0
 def test_upper_and_lowercase_property(self):
     input_string = '(;Aa[b])'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio n. 10
0
 def test_properties_without_delimiter(self):
     input_string = '(;A)'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio 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")
Esempio 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)
Esempio 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)
Esempio 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")
Esempio 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)
Esempio n. 16
0
 def test_node_without_tree(self):
     input_string = ";"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio n. 17
0
 def test_empty_input(self):
     input_string = ''
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio n. 18
0
 def test_all_lowercase_property(self):
     input_string = '(;a[b])'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio 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)
Esempio 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")
Esempio n. 22
0
 def test_single_node_tree(self):
     input_string = "(;A[B])"
     expected = SgfTree(properties={"A": ["B"]})
     self.assertEqual(parse(input_string), expected)
Esempio n. 23
0
 def test_properties_without_delimiter(self):
     input_string = "(;A)"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio 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)
Esempio n. 25
0
from sgf_parsing import parse, SgfTree

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

input_string = '(;a[b])'
parse(input_string)
Esempio n. 26
0
 def test_tree_with_no_nodes(self):
     input_string = "()"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio 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)
Esempio n. 28
0
 def test_node_without_properties(self):
     input_string = "(;)"
     expected = SgfTree()
     self.assertEqual(parse(input_string), expected)
Esempio 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)
Esempio 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)
Esempio n. 31
0
 def test_tree_with_no_nodes(self):
     input_string = '()'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio n. 32
0
 def test_upper_and_lowercase_property(self):
     input_string = "(;Aa[b])"
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio n. 33
0
 def test_node_without_tree(self):
     input_string = ';'
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio 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)
Esempio n. 35
0
 def test_node_without_properties(self):
     input_string = '(;)'
     expected = SgfTree()
     self.assertEqual(parse(input_string), expected)
Esempio n. 36
0
 def test_empty_input(self):
     input_string = ""
     with self.assertRaisesWithMessage(ValueError):
         parse(input_string)
Esempio n. 37
0
 def test_single_node_tree(self):
     input_string = '(;A[B])'
     expected = SgfTree(properties={'A': ['B']})
     self.assertEqual(parse(input_string), expected)