[ "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_download_failure", "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_duplicate_skip", "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_integrity_failure", "tests/test_image_fetcher.py::TestDownloadManager::test_download_and_save_success", "tests/test_image_fetcher.py::TestDownloadManager::test_reset_counters", "tests/test_image_fetcher.py::TestImageFetcher::test_check_image_exists_false", "tests/test_image_fetcher.py::TestImageFetcher::test_check_image_exists_true", "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_404", "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_http_error_with_retry", "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_max_retries_exceeded", "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_success", "tests/test_image_fetcher.py::TestImageFetcher::test_download_image_timeout_retry", "tests/test_image_fetcher.py::TestImageFetcher::test_exponential_backoff", "tests/test_image_fetcher.py::TestImageFetcher::test_get_image_size", "tests/test_image_fetcher.py::TestImageFetcher::test_rate_limiting", "tests/test_models.py::test_download_task_defaults", "tests/test_models.py::test_image_metadata_creation", "tests/test_models.py::test_playback_state_defaults", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_download_new_images_failure", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_download_new_images_success", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_filter_new_images_all_new", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_filter_new_images_invalid_url", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_filter_new_images_some_exist", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_force_check_not_running", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_get_monitoring_range", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_get_status_initial", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_initialization", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_set_monitoring_range", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_set_monitoring_range_invalid", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_start_monitoring", "tests/test_monitoring_loop.py::TestMonitoringLoop::test_stop_monitoring_not_running", "tests/test_monitoring_loop.py::TestStatusReporter::test_initialization", "tests/test_monitoring_loop.py::TestStatusReporter::test_log_periodic_status", "tests/test_monitoring_loop.py::TestStatusReporter::test_print_status", "tests/test_monitoring_loop.py::TestStatusReporter::test_print_status_no_last_check", "tests/test_monitoring_loop.py::TestTaskCoordinator::test_initialization", "tests/test_monitoring_loop.py::TestTaskCoordinator::test_on_check_complete", "tests/test_monitoring_loop.py::TestTaskCoordinator::test_on_check_start", "tests/test_monitoring_loop.py::TestTaskCoordinator::test_on_new_images_found", "tests/test_storage_organizer.py::TestStorageOrganizer::test_check_sufficient_space", "tests/test_storage_organizer.py::TestStorageOrganizer::test_cleanup_corrupted_files", "tests/test_storage_organizer.py::TestStorageOrganizer::test_create_date_structure", "tests/test_storage_organizer.py::TestStorageOrganizer::test_file_exists_false", "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_date_path", "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_file_size", "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_image_metadata", "tests/test_storage_organizer.py::TestStorageOrganizer::test_get_local_path", "tests/test_storage_organizer.py::TestStorageOrganizer::test_list_local_images_empty", "tests/test_storage_organizer.py::TestStorageOrganizer::test_list_local_images_with_files", "tests/test_storage_organizer.py::TestStorageOrganizer::test_save_and_check_image", "tests/test_storage_organizer.py::TestStorageOrganizer::test_validate_file_integrity_failure", "tests/test_storage_organizer.py::TestStorageOrganizer::test_validate_file_integrity_success", "tests/test_url_generator.py::TestURLGenerator::test_construct_url", "tests/test_url_generator.py::TestURLGenerator::test_extract_metadata_from_url", "tests/test_url_generator.py::TestURLGenerator::test_extract_metadata_invalid_url", "tests/test_url_generator.py::TestURLGenerator::test_generate_daily_urls", "tests/test_url_generator.py::TestURLGenerator::test_generate_date_range_urls", "tests/test_url_generator.py::TestURLGenerator::test_generate_date_range_urls_custom", "tests/test_url_generator.py::TestURLGenerator::test_generate_date_range_urls_single_day", "tests/test_url_generator.py::TestURLGenerator::test_generate_default_urls", "tests/test_url_generator.py::TestURLGenerator::test_generate_last_month_urls", "tests/test_url_generator.py::TestURLGenerator::test_last_month_date_range", "tests/test_url_generator.py::TestURLGenerator::test_validate_url_invalid", "tests/test_url_generator.py::TestURLGenerator::test_validate_url_valid", "tests/test_validation_service.py::TestValidationService::test_calculate_file_hash", "tests/test_validation_service.py::TestValidationService::test_calculate_file_hash_different_algorithms", "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_empty_file", "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_missing_file", "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_multiple_errors", "tests/test_validation_service.py::TestValidationService::test_comprehensive_validation_success", "tests/test_validation_service.py::TestValidationService::test_get_image_info_corrupted_file", "tests/test_validation_service.py::TestValidationService::test_get_image_info_success", "tests/test_validation_service.py::TestValidationService::test_repair_corrupted_image_failure", "tests/test_validation_service.py::TestValidationService::test_repair_corrupted_image_success", "tests/test_validation_service.py::TestValidationService::test_validate_file_size_exact_match", "tests/test_validation_service.py::TestValidationService::test_validate_file_size_outside_tolerance", "tests/test_validation_service.py::TestValidationService::test_validate_file_size_within_tolerance", "tests/test_validation_service.py::TestValidationService::test_validate_image_content_too_large", "tests/test_validation_service.py::TestValidationService::test_validate_image_content_too_small", "tests/test_validation_service.py::TestValidationService::test_validate_image_content_valid", "tests/test_validation_service.py::TestValidationService::test_validate_image_format_corrupted_file", "tests/test_validation_service.py::TestValidationService::test_validate_image_format_invalid_format", "tests/test_validation_service.py::TestValidationService::test_validate_image_format_valid_jpeg" ]