def test_should_discover_source_dirs_when_script_sources_are_included(self, _):
        project = Mock()

        project.get_property.side_effect = lambda _property: (
            _property if _property != 'dir_source_integrationtest_python' else None)

        files = discover_affected_dirs(False, True, project)

        self.assertEqual(project.get_property.call_args_list,
                         [call('dir_source_main_python'),
                          call('dir_source_main_scripts'),
                          call('dir_source_main_scripts')])
        self.assertEqual(files,
                         ['dir_source_main_python', 'dir_source_main_scripts'])
    def test_should_discover_source_dirs_when_script_sources_are_included(self, _):
        project = Mock()

        project.get_property.side_effect = lambda \
            _property: _property if _property != 'dir_source_integrationtest_python' else None

        files = discover_affected_dirs(False, True, project)

        self.assertEqual(project.get_property.call_args_list,
                         [call('dir_source_main_python'),
                          call('dir_source_main_scripts'),
                          call('dir_source_main_scripts')])
        self.assertEquals(files,
                          ['dir_source_main_python', 'dir_source_main_scripts'])
    def test_should_discover_source_dirs_when_test_sources_are_included(self, _):
        project = Mock()

        project.get_property.side_effect = lambda _property: _property

        files = discover_affected_dirs(True, False, project)

        self.assertEqual(project.get_property.call_args_list,
                         [call('dir_source_main_python'),
                          call('dir_source_unittest_python'),
                          call('dir_source_unittest_python'),
                          call('dir_source_integrationtest_python'),
                          call('dir_source_integrationtest_python')])
        self.assertEqual(files,
                         ['dir_source_main_python', 'dir_source_unittest_python', 'dir_source_integrationtest_python'])
    def test_should_discover_source_dirs_when_test_sources_are_included(self):
        project = Mock()

        project.get_property.side_effect = lambda _property: _property

        files = discover_affected_dirs(True, False, project)

        self.assertEqual(project.get_property.call_args_list, [
            call('dir_source_main_python'),
            call('dir_source_unittest_python'),
            call('dir_source_unittest_python'),
            call('dir_source_integrationtest_python'),
            call('dir_source_integrationtest_python')
        ])
        self.assertEquals(files, [
            'dir_source_main_python', 'dir_source_unittest_python',
            'dir_source_integrationtest_python'
        ])
    def test_should_discover_source_dirs_when_test_sources_not_included(self):
        project = Mock()
        project.get_property.return_value = 'source_directory'

        files = discover_affected_dirs(False, False, project)
        self.assertEqual(files, ['source_directory'])
    def test_should_discover_source_dirs_when_test_sources_not_included(self):
        project = Mock()
        project.get_property.return_value = 'source_directory'

        files = discover_affected_dirs(False, False, project)
        self.assertEqual(files, ['source_directory'])