import re import kalpaa.read_bin_csv # import logging # _logger = logging.getLogger(__name__) def test_regex_matches(): apsd_v_1 = "APSD_V_dot1_mean" actual_match1 = re.match(kalpaa.read_bin_csv.BINNED_HEADER_REGEX, apsd_v_1) # For reference, REGEX is currently: APSD_(?P\w+)_(?P\w+)_(?Pmean|stdev)\s* assert actual_match1 is not None groups = actual_match1.groupdict() assert groups["measurement_type"] == "V" assert groups["dot_name"] == "dot1" assert groups["summary_stat"] == "mean" def test_parse_headers(snapshot): example_headers = [ # using these headers from recent run: APSD_V_dot1_mean, APSD_V_dot1_stdev, APSD_V_dot2_mean, APSD_V_dot2_stdev, APSD_V_line_mean, APSD_V_line_stdev, APSD_V_triangle1_mean, APSD_V_triangle1_stdev, APSD_V_triangle2_mean, APSD_V_triangle2_stdev, APSD_V_uprise1_mean, APSD_V_uprise1_stdev, APSD_V_uprise2_mean, APSD_V_uprise2_stdev "APSD_V_dot1_mean", "APSD_V_dot1_stdev", "APSD_V_dot2_mean", "APSD_V_dot2_stdev", "APSD_V_line_mean", "APSD_V_line_stdev", "APSD_V_triangle1_mean", "APSD_V_triangle1_stdev", "APSD_V_triangle2_mean", "APSD_V_triangle2_stdev", "APSD_V_uprise1_mean", "This is not a valid header", ] actual_parsed = [kalpaa.read_bin_csv._parse_bin_header(h) for h in example_headers] assert actual_parsed == snapshot