Spaces:
Sleeping
Sleeping
| """Tests for core data models.""" | |
| import pytest | |
| from datetime import datetime | |
| from pathlib import Path | |
| from src.models import ImageMetadata, DownloadTask, PlaybackState, TaskStatus | |
| def test_image_metadata_creation(): | |
| """Test ImageMetadata dataclass creation.""" | |
| now = datetime.now() | |
| metadata = ImageMetadata( | |
| date=now, | |
| time_sequence="120000", | |
| filename="20251219_120000_4096_0211.jpg", | |
| local_path=Path("data/2025/12/19/20251219_120000_4096_0211.jpg"), | |
| file_size=1024000, | |
| download_timestamp=now, | |
| url="https://sdo.gsfc.nasa.gov/assets/img/browse/2025/12/19/20251219_120000_4096_0211.jpg" | |
| ) | |
| assert metadata.date == now | |
| assert metadata.time_sequence == "120000" | |
| assert metadata.filename == "20251219_120000_4096_0211.jpg" | |
| assert metadata.file_size == 1024000 | |
| def test_download_task_defaults(): | |
| """Test DownloadTask default values.""" | |
| task = DownloadTask( | |
| url="https://example.com/image.jpg", | |
| target_path=Path("data/image.jpg") | |
| ) | |
| assert task.retry_count == 0 | |
| assert task.status == TaskStatus.PENDING | |
| assert task.error_message is None | |
| def test_playback_state_defaults(): | |
| """Test PlaybackState default values.""" | |
| state = PlaybackState() | |
| assert state.current_frame == 0 | |
| assert state.total_frames == 0 | |
| assert state.is_playing is False | |
| assert state.playback_speed == 1.0 | |
| assert state.selected_date_range is None |