<commit_before>#
# Copyright (C) 2021 <NAME> <<EMAIL>>
# License: MIT
#
"""Basic data types for file based test data collectors.
"""
import pathlib
import typing


DictT = typing.Dict[str, typing.Any]


class Expected(typing.NamedTuple):
    """Keeps expected result's info.
    """
    exit_code: int = 0
    exit_code_matches: bool = True
    words_in_stdout: str = ''
    words_in_stderr: str = ''
    exception: BaseException = SystemExit


class TData(typing.NamedTuple):
    """A namedtuple object keeps test data.
    """
    datadir: pathlib.Path
    inp_path: pathlib.Path
    args: typing.List[str] = []
    exp: Expected = Expected()

# vim:sw=4:ts=4:et:<commit_msg>change: add an experimental test data object, TData2<commit_after>#
# Copyright (C) 2021 <NAME> <<EMAIL>>
# License: MIT
#
"""Basic data types for file based test data collectors.
"""
import pathlib
import typing


DictT = typing.Dict[str, typing.Any]


class Expected(typing.NamedTuple):
    """Keeps expected result's info.
    """
    exit_code: int = 0
    exit_code_matches: bool = True
    words_in_stdout: str = ''
    words_in_stderr: str = ''
    exception: BaseException = SystemExit


class TData(typing.NamedTuple):
    """A namedtuple object keeps test data to test cases with no file outputs.
    """
    datadir: pathlib.Path
    inp_path: pathlib.Path
    args: typing.List[str] = []
    exp: Expected = Expected()


class TData2(typing.NamedTuple):
    """A namedtuple object keeps test data to test cases with file outputs.
    """
    datadir: pathlib.Path
    inp_path: pathlib.Path
    opts: typing.List[str] = []
    exp: Expected = Expected()
    ref: DictT = {}

# vim:sw=4:ts=4:et:
{'fraction_non_alphanumeric': 0.12358882947118241, 'fraction_numerical': 0.009506833036244802, 'mean_word_length': 3.490666666666667, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '734391', 'n_tokens_mistral': 579, 'n_tokens_neox': 557, 'n_words': 160}