ContactDraftMergeTest.swift
31 lignes · 1130 octets
import XCTest @testable import Card2vcf final class ContactDraftMergeTest: XCTestCase { func testFusionneRegexEtLlm() { let llm = ContactCard(fullName: "Jean Dupont", phones: ["0612345678"]) let ocr = OcrResult( rawText: "Jean Dupont\n0612345678\njean@acme.fr", phones: ["0612345678", "0145678901"], emails: ["jean@acme.fr"], urls: ["https://acme.fr"] ) let merged = ContactDraftMerge.merge(llm: llm, ocr: ocr) XCTAssertEqual("Jean Dupont", merged.fullName) XCTAssertEqual(["0612345678", "0145678901"], merged.phones) XCTAssertEqual(["jean@acme.fr"], merged.emails) XCTAssertEqual("https://acme.fr", merged.website) } func testFallbackRegexSiLlmNull() { let ocr = OcrResult( rawText: "x", phones: ["0611111111"], emails: ["a@b.fr"], urls: ["https://x.fr"] ) let merged = ContactDraftMerge.merge(llm: nil, ocr: ocr) XCTAssertEqual(["0611111111"], merged.phones) XCTAssertEqual("https://x.fr", merged.website) } }
GitRust