def test_statistics_for_single_record(): """Show we can retrieve the only statistic recorded.""" aggregator = stats.Statistics() assert list(aggregator.statistics_for('E')) == [] aggregator.record(make_error()) statistics = list(aggregator.statistics_for('E')) assert len(statistics) == 1 assert isinstance(statistics[0], stats.Statistic)
def test_style_guide_applies_to(style_guide_file, filename, expected): """Verify that we match a file to its style guide.""" formatter = mock.create_autospec(base.BaseFormatter, instance=True) options = create_options() guide = style_guide.StyleGuide(options, formatter=formatter, stats=statistics.Statistics(), filename=style_guide_file) assert guide.applies_to(filename) is expected
def test_statistics_for_filters_by_filename(): """Show we can retrieve the only statistic recorded.""" aggregator = stats.Statistics() assert list(aggregator.statistics_for('E')) == [] aggregator.record(make_error()) aggregator.record(make_error(filename='example.py')) statistics = list(aggregator.statistics_for('E', DEFAULT_FILENAME)) assert len(statistics) == 1 assert isinstance(statistics[0], stats.Statistic)
def test_recording_statistics(): """Verify that we appropriately create a new Statistic and store it.""" aggregator = stats.Statistics() assert list(aggregator.statistics_for('E')) == [] aggregator.record(make_error()) storage = aggregator._store for key, value in storage.items(): assert isinstance(key, stats.Key) assert isinstance(value, stats.Statistic) assert storage[stats.Key(DEFAULT_FILENAME, DEFAULT_ERROR_CODE)].count == 1
def test_handle_error_does_not_raise_type_errors(): """Verify that we handle our inputs better.""" formatter = mock.create_autospec(base.BaseFormatter, instance=True) guide = style_guide.StyleGuide( create_options(select=['T111'], ignore=[]), formatter=formatter, stats=statistics.Statistics(), ) assert 1 == guide.handle_error('T111', 'file.py', 1, None, 'error found', 'a = 1')
def __init__(self, options, listener_trie, formatter, decider=None): """Initialize our StyleGuide. .. todo:: Add parameter documentation. """ self.options = options self.listener = listener_trie self.formatter = formatter self.stats = statistics.Statistics() self.decider = decider or DecisionEngine(options) self._parsed_diff = {}
def test_statistic_for_retrieves_more_than_one_value(): """Show this works for more than a couple statistic values.""" aggregator = stats.Statistics() for i in range(50): aggregator.record(make_error(code='E1{:02d}'.format(i))) aggregator.record(make_error(code='W2{:02d}'.format(i))) statistics = list(aggregator.statistics_for('E')) assert len(statistics) == 50 statistics = list(aggregator.statistics_for('W22')) assert len(statistics) == 10
def __init__(self, options, formatter, filename=None, decider=None): """Initialize our StyleGuide. .. todo:: Add parameter documentation. """ self.options = options self.formatter = formatter self.stats = statistics.Statistics() self.decider = decider or DecisionEngine(options) self.filename = filename if self.filename: self.filename = utils.normalize_path(self.filename) self._parsed_diff = {}
def __init__(self, options, listener_trie, formatter): """Initialize our StyleGuide. .. todo:: Add parameter documentation. """ self.options = options self.listener = listener_trie self.formatter = formatter self.stats = statistics.Statistics() self._selected = tuple(options.select) self._extended_selected = tuple(options.extended_default_select) self._ignored = tuple(options.ignore) self._decision_cache = {} self._parsed_diff = {}
def __init__(self, options, formatter, decider=None): """Initialize our StyleGuide. .. todo:: Add parameter documentation. """ self.options = options self.formatter = formatter self.stats = statistics.Statistics() self.decider = decider or DecisionEngine(options) self.style_guides = [] # type: List[StyleGuide] self.default_style_guide = StyleGuide(options, formatter, self.stats, decider=decider) self.style_guides = list( itertools.chain([self.default_style_guide], self.populate_style_guides_with(options)))
def __init__( self, options, # type: argparse.Namespace formatter, # type: base_formatter.BaseFormatter decider=None, # type: Optional[DecisionEngine] ): # type: (...) -> None """Initialize our StyleGuide. .. todo:: Add parameter documentation. """ self.options = options self.formatter = formatter self.stats = statistics.Statistics() self.decider = decider or DecisionEngine(options) self.style_guides = [] # type: List[StyleGuide] self.default_style_guide = StyleGuide( options, formatter, self.stats, decider=decider ) self.style_guides = list( itertools.chain( [self.default_style_guide], self.populate_style_guides_with(options), ) )