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"])
Example #4
0
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())
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())