def test_setdefault(self): nd = NormalizedDict({'a': NormalizedDict()}) nd.setdefault('a', 'whatever').setdefault('B', []).append(1) nd.setdefault('A', 'everwhat').setdefault('b', []).append(2) assert_equal(nd['a']['b'], [1, 2]) assert_equal(list(nd), ['a']) assert_equal(list(nd['a']), ['B'])
def test_setdefault(self): nd = NormalizedDict({'a': NormalizedDict()}) nd.setdefault('a', 'whatever').setdefault('B', []).append(1) nd.setdefault('A', 'everwhat').setdefault('b', []).append(2) assert_equals(nd['a']['b'], [1, 2]) assert_equals(list(nd), ['a']) assert_equals(list(nd['a']), ['B'])
def test_setdefault(self): nd = NormalizedDict({"a": NormalizedDict()}) nd.setdefault("a", "whatever").setdefault("B", []).append(1) nd.setdefault("A", "everwhat").setdefault("b", []).append(2) assert_equals(nd["a"]["b"], [1, 2]) assert_equals(list(nd), ["a"]) assert_equals(list(nd["a"]), ["B"])
class DiffResults(object): def __init__(self): self._stats = NormalizedDict() self.column_names = [] @property def rows(self): return (RowStatus(name, statuses) for name, statuses in sorted(self._stats.items())) def add_output(self, path, column=None): self._add_suite(ExecutionResult(path).suite) self.column_names.append(column or path) for stats in self._stats.values(): self._add_missing_statuses(stats) def _add_suite(self, suite): self._add_to_stats(suite) for sub_suite in suite.suites: self._add_suite(sub_suite) for test in suite.tests: self._add_to_stats(test) def _add_to_stats(self, item): stats = self._stats.setdefault(item.longname, []) self._add_missing_statuses(stats) stats.append(ItemStatus(item)) def _add_missing_statuses(self, stats): while len(stats) < len(self.column_names): stats.append(MissingStatus())