def test_class_extraction_without_dependency(self):
     """A class name can be extracted from line of code where no parameters
      are set i.e. Python3 style"""
     e = Extractor().comp_ext
     # Arrange
     expected = 'Marsupial'
     line = "class Marsupial:"
     # Act
     actual = e._extract_class(line)
     # Assert
     self.assertEqual([expected], actual)
    def test_nil_attribute_extraction(self):
        """A name will not be extracted from line of code where no attribute present"""
        # Arrange
        e = Extractor().comp_ext
        expected = []
        line = "    self.= 'Sharp'"

        # Act
        actual = e._extract_class(line)

        # Assert
        self.assertEqual(expected, actual)
    def test_class_extraction(self):
        """A class name can be extracted from line of code"""
        # Arrange
        e = Extractor().comp_ext
        expected = 'Marsupial'
        line = "class Marsupial(Mammal):"

        # Act
        actual = e._extract_class(line)

        # Assert
        self.assertEqual([expected], actual)
    def test_nil_class_extraction(self):
        """A name will not be extracted from line of code where no class present"""
        # Arrange
        e = Extractor().comp_ext
        expected = []
        line = "class(Mammal):"

        # Act
        actual = e._extract_class(line)

        # Assert
        self.assertEqual(expected, actual)
    def test_nil_default_value_extraction(self):
        """A value will not be extracted from line of code where no default present"""
        # Arrange
        e = Extractor().comp_ext
        expected = []
        line = "    self.teeth ='"

        # Act
        actual = e._extract_class(line)

        # Assert
        self.assertEqual(expected, actual)