AI_MMI_Analyser/sample/test_station_mapping.py

52 lines
1.7 KiB
Python

import sys
import os
# 프로젝트 루트 경로 추가
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from app.core.reference_data import ref_data
from app.data.log_parser import DOSItoMMIClass
def test_station_mapping():
print("▶ ReferenceData 로딩 테스트")
# SQLite 기반 시스템은 자동으로 로드됨
if not ref_data._is_loaded:
print("[Fail] ReferenceData 로드 실패")
return
print(f" TC1 역 개수: {len(ref_data.tc1_stations)}")
print(f" TC2 역 개수: {len(ref_data.tc2_stations)}")
print(f" 데이터 버전: {ref_data.get_version()}")
# 더미 데이터 기준: Code 1001 -> 역1
station_name = ref_data.get_station_name(1001)
print(f" Code 1001 -> Name: {station_name}")
if station_name != "역1":
print(f"[Fail] 역 이름 매핑 오류. Expected '역1', Got '{station_name}'")
else:
print("[Pass] 역 이름 매핑 성공")
print("\n▶ 로그 데이터 매핑 시뮬레이션")
# 가상의 로그 데이터 생성
log_item = DOSItoMMIClass()
log_item.source = 16 # TC1
log_item.pstn = 1001 # 현재 역 코드
# 매핑 로직 (analysis_panel.py와 동일)
if log_item.pstn > 0:
st_name = ref_data.get_station_name(log_item.pstn)
if st_name:
log_item.station_name = st_name
print(f" Log Item Station Name: {log_item.station_name}")
if log_item.station_name == "역1":
print("[Pass] 로그 데이터 매핑 성공")
else:
print("[Fail] 로그 데이터 매핑 실패")
if __name__ == "__main__":
test_station_mapping()