(neo_path: Path, kuzu_path: Path, lowercase: bool)
| 71 | |
| 72 | |
| 73 | def compare_text(neo_path: Path, kuzu_path: Path, lowercase: bool) -> Dict[str, Any]: |
| 74 | neo_lines, neo_counts = load_text_lines(neo_path, lowercase) |
| 75 | kuzu_lines, kuzu_counts = load_text_lines(kuzu_path, lowercase) |
| 76 | |
| 77 | neo_set = set(neo_lines) |
| 78 | kuzu_set = set(kuzu_lines) |
| 79 | |
| 80 | missing_in_kuzu = sorted(neo_set - kuzu_set) |
| 81 | extra_in_kuzu = sorted(kuzu_set - neo_set) |
| 82 | duplicates_in_kuzu = sorted([line for line, c in kuzu_counts.items() if c > 1]) |
| 83 | |
| 84 | return { |
| 85 | "neo_total_lines": len(neo_lines), |
| 86 | "kuzu_total_lines": len(kuzu_lines), |
| 87 | "neo_unique": len(neo_set), |
| 88 | "kuzu_unique": len(kuzu_set), |
| 89 | "missing_in_kuzu": missing_in_kuzu, |
| 90 | "extra_in_kuzu": extra_in_kuzu, |
| 91 | "duplicates_in_kuzu": duplicates_in_kuzu, |
| 92 | "similarity_percent": jaccard_similarity(neo_set, kuzu_set), |
| 93 | } |
| 94 | |
| 95 | |
| 96 | def compare_lists(path: str, neo_list: List[Any], kuzu_list: List[Any]) -> Dict[str, Any]: |
no test coverage detected