52 lines
1.7 KiB
Python
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()
|