class TestNamedScatterAlphaSlider(TestCaseQt): def setUp(self): super(TestNamedScatterAlphaSlider, self).setUp() self.plot = PlotWidget() self.aslider = AlphaSlider.NamedScatterAlphaSlider(plot=self.plot) self.aslider.setOrientation(qt.Qt.Horizontal) toolbar = qt.QToolBar("plot", self.plot) toolbar.addWidget(self.aslider) self.plot.addToolBar(toolbar) self.plot.show() self.qWaitForWindowExposed(self.plot) self.mouseMove(self.plot) # Move to center self.qapp.processEvents() def tearDown(self): self.qapp.processEvents() self.plot.setAttribute(qt.Qt.WA_DeleteOnClose) self.plot.close() del self.plot del self.aslider super(TestNamedScatterAlphaSlider, self).tearDown() def testWidgetEnabled(self): # no Scatter set initially, slider must be deactivate self.assertFalse(self.aslider.isEnabled()) self.plot.addScatter([0, 1, 2], [2, 3, 4], [5, 6, 7], legend="1") self.aslider.setLegend("1") # now we have an image set self.assertTrue(self.aslider.isEnabled()) def testGetScatter(self): self.plot.addScatter([0, 1, 2], [2, 3, 4], [5, 6, 7], legend="1") self.plot.addScatter([0, 10, 20], [20, 30, 40], [50, 60, 70], legend="2") self.aslider.setLegend("1") self.assertEqual(self.plot.getScatter("1"), self.aslider.getItem()) self.aslider.setLegend("2") self.assertEqual(self.plot.getScatter("2"), self.aslider.getItem()) def testGetAlpha(self): self.plot.addScatter([0, 10, 20], [20, 30, 40], [50, 60, 70], legend="1") self.aslider.setLegend("1") self.aslider.setValue(128) self.assertAlmostEqual(self.aslider.getAlpha(), 128. / 255)
class TestActiveImageAlphaSlider(TestCaseQt): def setUp(self): super(TestActiveImageAlphaSlider, self).setUp() self.plot = PlotWidget() self.aslider = AlphaSlider.ActiveImageAlphaSlider(plot=self.plot) self.aslider.setOrientation(qt.Qt.Horizontal) toolbar = qt.QToolBar("plot", self.plot) toolbar.addWidget(self.aslider) self.plot.addToolBar(toolbar) self.plot.show() self.qWaitForWindowExposed(self.plot) self.mouseMove(self.plot) # Move to center self.qapp.processEvents() def tearDown(self): self.qapp.processEvents() self.plot.setAttribute(qt.Qt.WA_DeleteOnClose) self.plot.close() del self.plot del self.aslider super(TestActiveImageAlphaSlider, self).tearDown() def testWidgetEnabled(self): # no active image initially, slider must be deactivate self.assertFalse(self.aslider.isEnabled()) self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]])) # now we have an active image self.assertTrue(self.aslider.isEnabled()) self.plot.setActiveImage(None) self.assertFalse(self.aslider.isEnabled()) def testGetImage(self): self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]])) self.assertEqual(self.plot.getActiveImage(), self.aslider.getItem()) self.plot.addImage(numpy.array([[0, 1, 3], [2, 4, 6]]), legend="2") self.plot.setActiveImage("2") self.assertEqual(self.plot.getImage("2"), self.aslider.getItem()) def testGetAlpha(self): self.plot.addImage(numpy.array([[0, 1, 2], [3, 4, 5]]), legend="1") self.aslider.setValue(137) self.assertAlmostEqual(self.aslider.getAlpha(), 137. / 255)
class _PlotWidgetTest(TestCaseQt): """Base class for tests of PlotWidget, not a TestCase in itself. plot attribute is the PlotWidget created for the test. """ def setUp(self): super(_PlotWidgetTest, self).setUp() self.plot = PlotWidget() self.plot.show() self.qWaitForWindowExposed(self.plot) def tearDown(self): self.qapp.processEvents() self.plot.setAttribute(qt.Qt.WA_DeleteOnClose) self.plot.close() del self.plot super(_PlotWidgetTest, self).tearDown()