def test_numeric_node_parse_none_returns_none_unless_default(self):
     numeric_pattern_node = node.NumericPatternNode(default='10')
     self.assertEqual(numeric_pattern_node.parse(None).value, 10)
 def test_numeric_node_parse_none_returns_none_unless_required(self):
     numeric_pattern_node = node.NumericPatternNode(required=True)
     self.assertRaises(node.ValueNodeError, numeric_pattern_node.parse,
                       None)
 def test_numeric_node_parse_fails_on_invalid_input(self):
     for invalid in self.invalid_values:
         numeric_pattern_node = node.NumericPatternNode()
         self.assertRaises(node.ValueNodeError, numeric_pattern_node.parse,
                           invalid)
 def test_numeric_node_parse_none_returns_none(self):
     numeric_pattern_node = node.NumericPatternNode()
     self.assertIs(numeric_pattern_node.parse(None), None)
 def test_numeric_node_parsed_value_is_a_number(self):
     for raw, expected in self.expected_values:
         numeric_pattern_node = node.NumericPatternNode()
         numeric_value_node = numeric_pattern_node.parse(raw)
         self.assertEqual(numeric_value_node.value, expected)