Files
Other.NF_Hotel-dataanalysis…/tests/test_statistics.py
T
Tirsvad 225d28feb7 Initial project setup: NF Hotel Data Analysis API
- Add project structure with domain-driven design organization
- Implement FastAPI endpoints for hotel booking reports
- Add data cleaning, statistics, and LLM report generation services
- Include configuration management and security utilities
- Add repository layer for bookings and metadata access
- Setup testing framework with conftest.py
- Include example files and documentation
2026-09-21 13:17:49 +08:00

28 lines
1.0 KiB
Python

import json
from nf_hotel_api.services.cleaning import DataCleaningService
from nf_hotel_api.services.statistics import DescriptiveStatsService
def test_compute_drops_booking_id(dirty_bookings_df, hotel_metadata):
clean_df = DataCleaningService(hotel_metadata).clean(dirty_bookings_df)
stats = DescriptiveStatsService().compute(clean_df)
assert "booking_id" not in stats
def test_compute_output_is_json_serializable(dirty_bookings_df, hotel_metadata):
clean_df = DataCleaningService(hotel_metadata).clean(dirty_bookings_df)
stats = DescriptiveStatsService().compute(clean_df)
# Must not raise: every value has to be a plain JSON-compatible type.
json.dumps(stats)
def test_compute_includes_numeric_and_categorical_columns(dirty_bookings_df, hotel_metadata):
clean_df = DataCleaningService(hotel_metadata).clean(dirty_bookings_df)
stats = DescriptiveStatsService().compute(clean_df)
assert "mean" in stats["adults"]
assert "top" in stats["meal"] or "unique" in stats["meal"]