115 lines
3.6 KiB
Python
115 lines
3.6 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
간단한 임포트 테스트
|
|
DXF 지원 통합 후 모든 모듈이 정상적으로 임포트되는지 확인
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
|
|
# 현재 경로 추가
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
def test_imports():
|
|
"""모든 주요 모듈 임포트 테스트"""
|
|
try:
|
|
print("🔍 모듈 임포트 테스트 시작...")
|
|
|
|
# 기본 라이브러리
|
|
import flet as ft
|
|
print("✅ Flet 임포트 성공")
|
|
|
|
# 프로젝트 모듈들
|
|
from config import Config
|
|
print("✅ Config 임포트 성공")
|
|
|
|
from pdf_processor import PDFProcessor
|
|
print("✅ PDFProcessor 임포트 성공")
|
|
|
|
from dxf_processor import DXFProcessor
|
|
print("✅ DXFProcessor 임포트 성공")
|
|
|
|
from gemini_analyzer import GeminiAnalyzer
|
|
print("✅ GeminiAnalyzer 임포트 성공")
|
|
|
|
from ui_components import UIComponents
|
|
print("✅ UIComponents 임포트 성공")
|
|
|
|
from utils import AnalysisResultSaver, DateTimeUtils
|
|
print("✅ Utils 임포트 성공")
|
|
|
|
# 메인 애플리케이션
|
|
from main import DocumentAnalyzerApp
|
|
print("✅ DocumentAnalyzerApp 임포트 성공")
|
|
|
|
print("\n🎉 모든 모듈 임포트 성공!")
|
|
print(f"📦 Flet 버전: {ft.__version__}")
|
|
|
|
# DXF 관련 라이브러리
|
|
try:
|
|
import ezdxf
|
|
print(f"📐 ezdxf 버전: {ezdxf.version}")
|
|
except ImportError:
|
|
print("⚠️ ezdxf 라이브러리가 설치되지 않았습니다")
|
|
|
|
try:
|
|
import numpy
|
|
print(f"🔢 numpy 버전: {numpy.__version__}")
|
|
except ImportError:
|
|
print("⚠️ numpy 라이브러리가 설치되지 않았습니다")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"❌ 임포트 오류: {e}")
|
|
return False
|
|
|
|
def test_basic_functionality():
|
|
"""기본 기능 테스트"""
|
|
try:
|
|
print("\n🔧 기본 기능 테스트 시작...")
|
|
|
|
# Config 테스트
|
|
config_errors = Config.validate_config()
|
|
if config_errors:
|
|
print(f"⚠️ 설정 오류: {config_errors}")
|
|
else:
|
|
print("✅ Config 검증 성공")
|
|
|
|
# PDF Processor 테스트
|
|
pdf_processor = PDFProcessor()
|
|
print("✅ PDFProcessor 인스턴스 생성 성공")
|
|
|
|
# DXF Processor 테스트
|
|
dxf_processor = DXFProcessor()
|
|
print("✅ DXFProcessor 인스턴스 생성 성공")
|
|
|
|
# DateTimeUtils 테스트
|
|
from utils import DateTimeUtils
|
|
timestamp = DateTimeUtils.get_timestamp()
|
|
print(f"✅ 현재 시간: {timestamp}")
|
|
|
|
print("\n🎉 기본 기능 테스트 성공!")
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"❌ 기능 테스트 오류: {e}")
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
print("=" * 60)
|
|
print("📋 PDF/DXF 분석기 통합 테스트")
|
|
print("=" * 60)
|
|
|
|
import_success = test_imports()
|
|
functionality_success = test_basic_functionality()
|
|
|
|
print("\n" + "=" * 60)
|
|
if import_success and functionality_success:
|
|
print("🎉 모든 테스트 통과! 애플리케이션 준비 완료")
|
|
print("💡 main.py를 실행하여 애플리케이션을 시작할 수 있습니다")
|
|
else:
|
|
print("❌ 일부 테스트 실패. 설정을 확인하세요")
|
|
print("=" * 60)
|