def parse_verse_number_empty_attribute_test(self):
        """
        Test parse_verse_number when the verse number is an empty string. (Bug #1074727)
        """
        # GIVEN: An instance of OpenSongBible, an empty string, and the previous verse number set as 14
        importer = OpenSongBible(MagicMock(), path='.', name='.', filename='')
        # WHEN: Calling parse_verse_number
        result = importer.parse_verse_number('', 14)

        # THEN: parse_verse_number should increment the previous verse number
        self.assertEqual(result, 15)
    def parse_verse_number_invalid_verse_no_test(self):
        """
        Test parse_verse_number when supplied with a invalid verse number
        """
        # GIVEN: An instance of OpenSongBible, a non numeric string represented as a string
        importer = OpenSongBible(MagicMock(), path='.', name='.', filename='')

        # WHEN: Calling parse_verse_number
        result = importer.parse_verse_number('invalid', 41)

        # THEN: parse_verse_number should increment the previous verse number
        self.assertEqual(result, 42)
    def parse_verse_number_verse_range_test(self):
        """
        Test parse_verse_number when supplied with a verse range
        """
        # GIVEN: An instance of OpenSongBible, and the range 24-26 represented as a string
        importer = OpenSongBible(MagicMock(), path='.', name='.', filename='')

        # WHEN: Calling parse_verse_number
        result = importer.parse_verse_number('24-26', 0)

        # THEN: parse_verse_number should return the first verse number in the range
        self.assertEqual(result, 24)
    def parse_verse_number_valid_verse_no_test(self):
        """
        Test parse_verse_number when supplied with a valid verse number
        """
        # GIVEN: An instance of OpenSongBible, the number 15 represented as a string and an instance of OpenSongBible
        importer = OpenSongBible(MagicMock(), path='.', name='.', filename='')

        # WHEN: Calling parse_verse_number
        result = importer.parse_verse_number('15', 0)

        # THEN: parse_verse_number should return the verse number
        self.assertEqual(result, 15)
    def process_verses_stop_import_test(self):
        """
        Test process_verses when stop_import is set to True
        """
        # GIVEN: An isntance of OpenSongBible
        importer = OpenSongBible(MagicMock(), path='.', name='.', filename='')
        importer.parse_verse_number = MagicMock()

        # WHEN: stop_import_flag is set to True
        importer.stop_import_flag = True
        importer.process_verses('Book', 1, 'Verses')

        # THEN: importer.parse_verse_number not have been called
        self.assertFalse(importer.parse_verse_number.called)
Beispiel #6
0
    def test_parse_verse_number_invalid_type(self):
        """
        Test parse_verse_number when the verse number is an invalid type)
        """
        with patch.object(OpenSongBible, 'log_warning') as mocked_log_warning:
            # GIVEN: An instanceofOpenSongBible, a Tuple, and the previous verse number set as 12
            importer = OpenSongBible(MagicMock(),
                                     path='.',
                                     name='.',
                                     file_path=None)

            # WHEN: Calling parse_verse_number
            result = importer.parse_verse_number((1, 2, 3), 12)

            # THEN: parse_verse_number should log the verse number it was called with increment the previous verse
            #       number
            mocked_log_warning.assert_called_once_with(
                'Illegal verse number: (1, 2, 3)')
            assert result == 13