def test_spaczz_patterns_to_from_disk( nlp: Language, patterns: list[dict[str, Any]] ) -> None: """It writes the patterns to disk and reads them back correctly.""" ruler = SpaczzRuler(nlp, spaczz_patterns=patterns, spaczz_overwrite_ents=True) assert len(ruler) == len(patterns) assert len(ruler.labels) == 5 with tempfile.NamedTemporaryFile() as tmpfile: ruler.to_disk(f"{tmpfile.name}.jsonl") assert os.path.isfile(tmpfile.name) new_ruler = SpaczzRuler(nlp) new_ruler = new_ruler.from_disk(f"{tmpfile.name}.jsonl") assert len(new_ruler) == len(patterns) assert len(new_ruler.labels) == 5 assert len(new_ruler.patterns) == len(ruler.patterns) for pattern in ruler.patterns: assert pattern in new_ruler.patterns assert sorted(new_ruler.labels) == sorted(ruler.labels) assert new_ruler.overwrite is False
def test_spaczz_ruler_to_from_disk( nlp: Language, patterns: list[dict[str, Any]] ) -> None: """It writes the ruler to disk and reads it back correctly.""" ruler = SpaczzRuler(nlp, spaczz_patterns=patterns, spaczz_overwrite_ents=True) assert len(ruler) == len(patterns) assert len(ruler.labels) == 5 with tempfile.TemporaryDirectory() as tmpdir: ruler.to_disk(f"{tmpdir}/ruler") assert os.path.isdir(f"{tmpdir}/ruler") new_ruler = SpaczzRuler(nlp) new_ruler = new_ruler.from_disk(f"{tmpdir}/ruler") assert len(new_ruler) == len(patterns) assert len(new_ruler.labels) == 5 assert len(new_ruler.patterns) == len(ruler.patterns) for pattern in ruler.patterns: assert pattern in new_ruler.patterns assert sorted(new_ruler.labels) == sorted(ruler.labels) assert new_ruler.overwrite is True