def test_snapshot_mini_taxa(capsys): taxonomy = Taxonomy() acc = {} programs = labelled_programs(Path("examples/mini/programs")) for program in programs: taxa = taxonomy.to_taxa(program.labels) acc[program.name] = { name: " ".join(map(couple_to_string, sorted(set(spans)))) for (name, spans) in taxa } result = json.dumps(acc, indent=2) make_snapshot(Path("examples/mini/taxa.json"), result, capsys)
def test_snapshot_simple_taxons(capsys): taxonomy = Taxonomy() acc = {} labeller = ProgramLabeller() labeller.label_programs(Path("tests/data/simple")) for program in labeller.programs: taxons = taxonomy.to_taxons(program.labels) acc[program.name] = { name: " ".join(map(couple_to_string, sorted(set(spans)))) for (name, spans) in taxons } result = json.dumps(acc, indent=2) make_snapshot(Path("tests/snapshots/simple_taxons.json"), result, capsys)
import json from collections import Counter as c from pathlib import Path import pytest from make_snapshot import make_snapshot import context from paroxython.goodies import couple_to_string from paroxython.label_programs import labelled_programs from paroxython.map_taxonomy import Taxonomy, deduplicated_taxa, is_literal from paroxython.user_types import Label, Program, Span t = Taxonomy(Path("examples/mini/taxonomy.tsv")) S = lambda i, j: Span(i, j) # shortcut for Span(i, j) def test_initial_values(): print(t.literal_labels) assert t.literal_labels == { "literal:Set": ["call/subroutine/builtin/casting/set", "type/non_sequence/set"], "if": ["flow/conditional"], "if_else": ["flow/conditional/else"], "free_call:list": ["type/sequence/list"], "member_call_method:difference_update": ["type/non_sequence/set"], } print(t.compiled_labels) assert t.compiled_labels[0][1] == "call/subroutine/builtin/casting/\\1" assert t.compiled_labels[1][1] == "condition/inequality"
import json from collections import Counter as C from pathlib import Path import pytest import context from make_snapshot import make_snapshot from paroxython.goodies import couple_to_string from paroxython.label_programs import ProgramLabeller from paroxython.map_taxonomy import Taxonomy from paroxython.user_types import Label, Program, Span t = Taxonomy(Path("tests/data/dummy/taxonomy.tsv")) S = lambda i, j: Span(i, j) # shortcut for Span(i, j) def test_initial_values(): print(t.literal_label_names) assert t.literal_label_names == { "literal:Set": ["call/function/builtin/casting/set", "type/non_sequence/set"], "if": ["flow/conditional"], "if_else": ["flow/conditional/else"], "free_call:list": ["type/sequence/list"], "member_call:difference_update": ["type/non_sequence/set"], } print(t.compiled_label_names) assert t.compiled_label_names[0][1] == "call/function/builtin/casting/\\1" assert t.compiled_label_names[1][1] == "test/inequality"