""" Simple test to verify format conversion logic """ # Test the conversion logic without dependencies def test_legacy_conversion(): """Test that legacy format gets converted correctly""" # Simulate legacy request risk_data = { "location": { "name": "Manila", "coordinates": {"latitude": 14.5995, "longitude": 120.9842} }, "hazards": {"seismic": {}, "volcanic": {}, "hydrometeorological": {}} } building_type = "residential_single_family" recommendations = {"general_guidelines": ["Test"]} # Simulate the conversion logic from main.py construction_data = { "building_type": building_type, "risk_data": risk_data } if recommendations: construction_data["recommendations"] = recommendations if isinstance(risk_data, dict) and "location" in risk_data: construction_data["location"] = risk_data["location"] # Generate prompt building_descriptions = { "residential_single_family": "single-family home", "residential_multi_family": "multi-family residential building", "residential_high_rise": "high-rise apartment building", "commercial_office": "modern office building", "commercial_retail": "retail shopping center", "industrial_warehouse": "industrial warehouse facility", "institutional_school": "school building", "institutional_hospital": "hospital or healthcare facility", "infrastructure_bridge": "bridge structure", "mixed_use": "mixed-use development" } building_desc = building_descriptions.get(building_type, "building") prompt = f"Generate an architectural visualization of a {building_desc} in the Philippines with disaster-resistant features" # Verify conversion print("Legacy Format Conversion Test") print("=" * 60) print(f"Input:") print(f" - building_type: {building_type}") print(f" - risk_data: {bool(risk_data)}") print(f" - recommendations: {bool(recommendations)}") print() print(f"Output:") print(f" - prompt: {prompt}") print(f" - construction_data keys: {list(construction_data.keys())}") print() # Assertions assert prompt is not None, "Prompt should be generated" assert "single-family home" in prompt, "Prompt should contain building description" assert "Philippines" in prompt, "Prompt should mention Philippines" assert "disaster-resistant" in prompt, "Prompt should mention disaster-resistant" assert "building_type" in construction_data, "construction_data should have building_type" assert "risk_data" in construction_data, "construction_data should have risk_data" assert "recommendations" in construction_data, "construction_data should have recommendations" assert "location" in construction_data, "construction_data should have location" print("✅ All assertions passed!") print(" Legacy format successfully converts to new format") print("=" * 60) return True if __name__ == "__main__": try: test_legacy_conversion() except AssertionError as e: print(f"❌ Test failed: {e}") exit(1) except Exception as e: print(f"❌ Unexpected error: {e}") import traceback traceback.print_exc() exit(1)