Пример #1
0
class TestDriveFinder(unittest.TestCase):
    # The setup before each test method
    def setUp(self):
        arg1 = "targeted_file_extensions"
        arg2 = "list_of_all_drives"
        arg3 = "ignore_dirs"
        arg4 = "file_storage"
        """Initialise DriveFinder class
    args:
      arg1 (str) : mock value
      arg2 (str) : mock value
      arg3 (str) : mock value
      arg4 (str) : mock value
    """
        self.file_finder = FileFinder(arg1, arg2, arg3, arg4)

    # This method tests DriveFinder constructor
    def test_constructor(self):
        # Initialise variable to expected values of DriveFinder
        # class fields
        expected_targeted_file_extensions = "targeted_file_extensions"
        expected_list_of_all_drives = "list_of_all_drives"
        expected_ignore_dirs = "ignore_dirs"
        expected_file_storage = "file_storage"

        # Get actual values of DriveFinder class fields
        actual_targeted_file_extensions = self.file_finder.targeted_file_extensions
        actual_list_of_all_drives = self.file_finder.list_of_all_drives
        actual_ignore_dirs = self.file_finder.ignore_dirs
        actual_file_storage = self.file_finder.file_storage

        # Evaluate actual against expected
        self.assertEqual(expected_targeted_file_extensions,
                         actual_targeted_file_extensions)
        self.assertEqual(expected_list_of_all_drives,
                         actual_list_of_all_drives)
        self.assertEqual(expected_ignore_dirs, actual_ignore_dirs)
        self.assertEqual(expected_file_storage, actual_file_storage)

    # This method test DriveFinder.break_source_into_substrings function
    def test_break_source_into_substrings(self):
        # Mock file path
        source = "C:/Users/sgore/Desktop/look_up_with_entropy/test_files"

        # Break down mock file path into substring.
        # This mimics the internals of the break_source_into_substrings
        # function.
        expected_file_name = os.path.basename(source)
        expected_file_path = os.path.splitext(source)[0]
        expected_file_extension = os.path.splitext(source)[1]
        expected_absolute_path = source

        # Get actual return values of the function
        actual = json.loads(
            self.file_finder.break_source_into_substrings(source))

        actual_file_name = actual['file_name']
        actual_file_path = actual['file_path']
        actual_file_extension = actual['file_extension']
        actual_absolute_path = actual['absolute_path']

        # Evaluate expected - manually computed values aginst
        # actual values returned by the function
        self.assertEqual(expected_file_name, actual_file_name)
        self.assertEqual(expected_file_path, actual_file_path)
        self.assertEqual(expected_file_extension, actual_file_extension)
        self.assertEqual(expected_absolute_path, actual_absolute_path)