Compare vendor information.
(gt: dict, agent: dict)
| 252 | |
| 253 | |
| 254 | def compare_vendor(gt: dict, agent: dict) -> dict: |
| 255 | """Compare vendor information.""" |
| 256 | gt_vendor = gt.get("Vendor Information") or {} |
| 257 | agent_vendor = agent.get("Vendor Information") or {} |
| 258 | |
| 259 | # Vendor name — normalized comparison |
| 260 | gt_name = normalize_string(gt_vendor.get("Vendor Name", "")) |
| 261 | agent_name = normalize_string(agent_vendor.get("Vendor Name", "")) |
| 262 | name_match = gt_name == agent_name |
| 263 | |
| 264 | # Tax ID — exact after stripping whitespace |
| 265 | gt_tax_id = str(gt_vendor.get("Tax ID", "")).replace(" ", "").strip() |
| 266 | agent_tax_id = str(agent_vendor.get("Tax ID", "")).replace(" ", "").strip() |
| 267 | tax_id_match = gt_tax_id == agent_tax_id |
| 268 | |
| 269 | return { |
| 270 | "Vendor Name": { |
| 271 | "ground_truth": gt_vendor.get("Vendor Name", ""), |
| 272 | "agent": agent_vendor.get("Vendor Name", ""), |
| 273 | "match": name_match, |
| 274 | }, |
| 275 | "Tax ID": { |
| 276 | "ground_truth": gt_vendor.get("Tax ID", ""), |
| 277 | "agent": agent_vendor.get("Tax ID", ""), |
| 278 | "match": tax_id_match, |
| 279 | }, |
| 280 | "all_match": name_match and tax_id_match, |
| 281 | } |
| 282 | |
| 283 | |
| 284 | def compare_header(gt: dict, agent: dict) -> dict: |
no test coverage detected