def setUpClass(cls): """Prepare environment for test execution Construct a dummy signal manager and monkey patch OWReport.get_instance to return a manually created instance. """ super().setUpClass() cls.widgets = [] cls.signal_manager = DummySignalManager() report = OWReport() cls.widgets.append(report) OWReport.get_instance = lambda: report
def test_report_table(self): rep = OWReport().get_instance() model = PyTableModel([['x', 1, 2], ['y', 2, 2]]) model.setHorizontalHeaderLabels(['a', 'b', 'c']) model.setData(model.index(0, 0), Qt.AlignHCenter | Qt.AlignTop, Qt.TextAlignmentRole) model.setData(model.index(1, 0), QFont('', -1, QFont.Bold), Qt.FontRole) model.setData(model.index(1, 2), QBrush(Qt.red), Qt.BackgroundRole) view = gui.TableView() view.show() view.setModel(model) rep.report_table('Name', view) self.maxDiff = None self.assertEqual( rep.report_html, '<h2>Name</h2><table>\n' '<tr>' '<th style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:left;vertical-align:middle;">a</th>' '<th style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:left;vertical-align:middle;">b</th>' '<th style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:left;vertical-align:middle;">c</th>' '</tr>' '<tr>' '<td style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:center;vertical-align:top;">x</td>' '<td style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:right;vertical-align:middle;">1</td>' '<td style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:right;vertical-align:middle;">2</td>' '</tr>' '<tr>' '<td style="color:black;border:0;background:transparent;' 'font-weight:bold;text-align:left;vertical-align:middle;">y</td>' '<td style="color:black;border:0;background:transparent;' 'font-weight:normal;text-align:right;vertical-align:middle;">2</td>' '<td style="color:black;border:0;background:#ff0000;' 'font-weight:normal;text-align:right;vertical-align:middle;">2</td>' '</tr></table>')
def test_report_pickle(self): rep = OWReport().get_instance() p = pickle.dumps(rep) rep2 = pickle.loads(p) self.assertEqual(type(rep), type(rep2))
def test_report_pickle(self): app = QApplication(sys.argv) rep = OWReport().get_instance() p = pickle.dumps(rep) rep2 = pickle.loads(p) self.assertEqual(type(rep), type(rep2))