101 lines
3.7 KiB
Python
101 lines
3.7 KiB
Python
#!/usr/bin/env python3
|
|
|
|
from data_comparator import KSTCoordiComparator
|
|
|
|
def test_ba_confirmed_cases():
|
|
"""Test that the comparison logic matches BA confirmed expectations"""
|
|
print("Testing BA confirmed duplicate cases...")
|
|
|
|
# Create comparator and load data
|
|
comparator = KSTCoordiComparator("data/sample-data.xlsx")
|
|
if not comparator.load_data():
|
|
print("Failed to load data!")
|
|
return
|
|
|
|
print("\n=== US URGENT Sheet - BA Confirmed Cases ===")
|
|
us_summary = comparator.get_comparison_summary('US URGENT')
|
|
|
|
# Check for expected duplicates in US URGENT
|
|
coordi_duplicates = us_summary['mismatch_details']['coordi_duplicates']
|
|
mixed_duplicates = us_summary['mismatch_details']['mixed_duplicates']
|
|
|
|
expected_coordi_duplicates = [
|
|
('금수의 영역', '17'),
|
|
('신결', '23')
|
|
]
|
|
|
|
expected_mixed_duplicates = [
|
|
('트윈 가이드', '31')
|
|
]
|
|
|
|
print("Coordi duplicates found:")
|
|
found_coordi = []
|
|
for item in coordi_duplicates:
|
|
key = (item['title'], item['episode'])
|
|
found_coordi.append(key)
|
|
print(f" - {item['title']} - Episode {item['episode']}")
|
|
|
|
print("\nMixed duplicates found:")
|
|
found_mixed = []
|
|
for item in mixed_duplicates:
|
|
key = (item['title'], item['episode'])
|
|
found_mixed.append(key)
|
|
print(f" - {item['title']} - Episode {item['episode']} ({item['reason']})")
|
|
|
|
# Verify expected cases
|
|
print("\n✓ Verification:")
|
|
for expected in expected_coordi_duplicates:
|
|
if expected in found_coordi:
|
|
print(f" ✓ Found expected Coordi duplicate: {expected[0]} - Episode {expected[1]}")
|
|
else:
|
|
print(f" ✗ Missing expected Coordi duplicate: {expected[0]} - Episode {expected[1]}")
|
|
|
|
for expected in expected_mixed_duplicates:
|
|
if expected in found_mixed:
|
|
print(f" ✓ Found expected mixed duplicate: {expected[0]} - Episode {expected[1]}")
|
|
else:
|
|
print(f" ✗ Missing expected mixed duplicate: {expected[0]} - Episode {expected[1]}")
|
|
|
|
print("\n=== TH URGENT Sheet - BA Confirmed Cases ===")
|
|
th_summary = comparator.get_comparison_summary('TH URGENT')
|
|
|
|
# Check for expected duplicates in TH URGENT
|
|
kst_duplicates = th_summary['mismatch_details']['kst_duplicates']
|
|
coordi_only = th_summary['mismatch_details']['coordi_only']
|
|
|
|
expected_kst_duplicates = [
|
|
('백라이트', '53-1x(휴재)')
|
|
]
|
|
|
|
print("KST duplicates found:")
|
|
found_kst = []
|
|
for item in kst_duplicates:
|
|
key = (item['title'], item['episode'])
|
|
found_kst.append(key)
|
|
print(f" - {item['title']} - Episode {item['episode']}")
|
|
|
|
# Check that 백라이트 - Episode 53-1x(휴재) doesn't appear in Coordi
|
|
print("\nChecking that 백라이트 - Episode 53-1x(휴재) doesn't appear in Coordi:")
|
|
found_in_coordi = False
|
|
for item in coordi_only:
|
|
if item['title'] == '백라이트' and item['episode'] == '53-1x(휴재)':
|
|
found_in_coordi = True
|
|
break
|
|
|
|
if not found_in_coordi:
|
|
print(" ✓ 백라이트 - Episode 53-1x(휴재) correctly does NOT appear in Coordi data")
|
|
else:
|
|
print(" ✗ 백라이트 - Episode 53-1x(휴재) incorrectly appears in Coordi data")
|
|
|
|
# Verify expected cases
|
|
print("\n✓ Verification:")
|
|
for expected in expected_kst_duplicates:
|
|
if expected in found_kst:
|
|
print(f" ✓ Found expected KST duplicate: {expected[0]} - Episode {expected[1]}")
|
|
else:
|
|
print(f" ✗ Missing expected KST duplicate: {expected[0]} - Episode {expected[1]}")
|
|
|
|
print("\n✓ All BA confirmed cases tested!")
|
|
|
|
if __name__ == "__main__":
|
|
test_ba_confirmed_cases() |