Ejemplo n.º 1
0
  def accept(self, visitor, *args, **kwargs):
    """Accepts a visitor from Visitor Pattern.

    Args:
      visitor: a visitor with .visit_CLASSNAME(type_reference_node) method
          where CLASSNAME is the name of a visited class.
      *args: additional positional arguments to be passed to the visitor call.
      **kwargs: additional keyword arguments to be passed to the visitor call.

    Returns:
      A value returned by the visitor.
    """
    lower_underscore_class_name = string_util.camel_case_to_lower_underscore(
        self.__class__.__name__,
    )
    visitor_method_name = 'visit_' + lower_underscore_class_name
    visitor_method = getattr(visitor, visitor_method_name)
    return visitor_method(self, *args, **kwargs)
Ejemplo n.º 2
0
 def test_with_upper_camel_case_with_additional_underscore(self):
     actual = string_util.camel_case_to_lower_underscore('Upper_CamelCase')
     self.assertEqual(actual, 'upper_camel_case')
Ejemplo n.º 3
0
 def test_with_empty_string(self):
     actual = string_util.camel_case_to_lower_underscore('')
     self.assertEqual(actual, '')
Ejemplo n.º 4
0
 def test_with_capitals_ony(self):
   actual = string_util.camel_case_to_lower_underscore('UPPER')
   self.assertEqual(actual, 'upper')
Ejemplo n.º 5
0
 def test_with_digits_and_a_few_capitals_in_a_row(self):
   actual = string_util.camel_case_to_lower_underscore('Upper33CAMELCase')
   self.assertEqual(actual, 'upper33_camel_case')
Ejemplo n.º 6
0
 def test_with_empty_string(self):
   actual = string_util.camel_case_to_lower_underscore('')
   self.assertEqual(actual, '')
Ejemplo n.º 7
0
 def test_with_digits_at_the_end(self):
     actual = string_util.camel_case_to_lower_underscore('UpperCamelCase33')
     self.assertEqual(actual, 'upper_camel_case33')
Ejemplo n.º 8
0
 def test_with_digits_at_the_beginning(self):
     actual = string_util.camel_case_to_lower_underscore('24UpperCamelCase')
     self.assertEqual(actual, '24_upper_camel_case')
Ejemplo n.º 9
0
 def test_with_digits_only(self):
   actual = string_util.camel_case_to_lower_underscore('42')
   self.assertEqual(actual, '42')
Ejemplo n.º 10
0
 def test_with_digits_at_the_end(self):
   actual = string_util.camel_case_to_lower_underscore('UpperCamelCase33')
   self.assertEqual(actual, 'upper_camel_case33')
Ejemplo n.º 11
0
 def test_with_digits_inside(self):
   actual = string_util.camel_case_to_lower_underscore('UpperCamel42Case')
   self.assertEqual(actual, 'upper_camel42_case')
Ejemplo n.º 12
0
 def test_with_digits_at_the_beginning(self):
   actual = string_util.camel_case_to_lower_underscore('24UpperCamelCase')
   self.assertEqual(actual, '24_upper_camel_case')
Ejemplo n.º 13
0
 def test_with_lower_camel_case_with_addidtional_underscore_after_one_letter(
     self,
 ):
   actual = string_util.camel_case_to_lower_underscore('l_CamelCase')
   self.assertEqual(actual, 'l_camel_case')
Ejemplo n.º 14
0
 def test_with_lower_camel_case_with_initial_underscore(self):
   actual = string_util.camel_case_to_lower_underscore('_lowerCamelCase')
   self.assertEqual(actual, '_lower_camel_case')
Ejemplo n.º 15
0
 def test_with_upper_camel_case_with_additional_underscore(self):
   actual = string_util.camel_case_to_lower_underscore('Upper_CamelCase')
   self.assertEqual(actual, 'upper_camel_case')
Ejemplo n.º 16
0
 def test_with_lower_camel_case_with_initial_underscore(self):
     actual = string_util.camel_case_to_lower_underscore('_lowerCamelCase')
     self.assertEqual(actual, '_lower_camel_case')
Ejemplo n.º 17
0
 def test_with_lower_camel_case_with_addidtional_underscore_after_one_letter(
     self, ):
     actual = string_util.camel_case_to_lower_underscore('l_CamelCase')
     self.assertEqual(actual, 'l_camel_case')
Ejemplo n.º 18
0
 def test_with_a_few_capitals_in_a_row_at_the_beginning(self):
   actual = string_util.camel_case_to_lower_underscore('UPPERCamelCase')
   self.assertEqual(actual, 'upper_camel_case')
Ejemplo n.º 19
0
 def test_with_digits_inside(self):
     actual = string_util.camel_case_to_lower_underscore('UpperCamel42Case')
     self.assertEqual(actual, 'upper_camel42_case')
Ejemplo n.º 20
0
 def test_with_a_few_capitals_in_a_row_inside(self):
   actual = string_util.camel_case_to_lower_underscore('UpperCAMELCase')
   self.assertEqual(actual, 'upper_camel_case')
Ejemplo n.º 21
0
 def test_with_digits_only(self):
     actual = string_util.camel_case_to_lower_underscore('42')
     self.assertEqual(actual, '42')
Ejemplo n.º 22
0
 def test_with_a_few_capitals_in_a_row_at_the_end(self):
   actual = string_util.camel_case_to_lower_underscore('UpperCamelCASE')
   self.assertEqual(actual, 'upper_camel_case')