diff options
Diffstat (limited to 'silx/gui/plot/test/testStackView.py')
-rw-r--r-- | silx/gui/plot/test/testStackView.py | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/silx/gui/plot/test/testStackView.py b/silx/gui/plot/test/testStackView.py index 69584cd..8d2a0ee 100644 --- a/silx/gui/plot/test/testStackView.py +++ b/silx/gui/plot/test/testStackView.py @@ -130,7 +130,7 @@ class TestStackView(TestCaseQt): self.assertEqual(self.stackview._perspective, 2, "Perspective not set in setStack(..., perspective=2).") - def testTitle(self): + def testDefaultTitle(self): """Test that the plot title contains the proper Z information""" self.stackview.setStack(numpy.arange(24).reshape((4, 3, 2)), calibrations=[(0, 1), (-10, 10), (3.14, 3.14)]) @@ -156,6 +156,37 @@ class TestStackView(TestCaseQt): self.assertEqual(self.stackview._plot.getGraphTitle(), "Image z=6.28") + def testCustomTitle(self): + """Test setting the plot title with a user defined callback""" + self.stackview.setStack(numpy.arange(24).reshape((4, 3, 2)), + calibrations=[(0, 1), (-10, 10), (3.14, 3.14)]) + + def title_callback(frame_idx): + return "Cubed index title %d" % (frame_idx**3) + + self.stackview.setTitleCallback(title_callback) + self.assertEqual(self.stackview._plot.getGraphTitle(), + "Cubed index title 0") + self.stackview.setFrameNumber(2) + self.assertEqual(self.stackview._plot.getGraphTitle(), + "Cubed index title 8") + + # perspective should not matter, only frame index + self.stackview._StackView__planeSelection.setPerspective(1) + self.stackview.setFrameNumber(0) + self.assertEqual(self.stackview._plot.getGraphTitle(), + "Cubed index title 0") + self.stackview.setFrameNumber(2) + self.assertEqual(self.stackview._plot.getGraphTitle(), + "Cubed index title 8") + + with self.assertRaises(TypeError): + # setTitleCallback should not accept non-callable objects like strings + self.stackview.setTitleCallback( + "Là, vous faites sirop de vingt-et-un et vous dites : " + "beau sirop, mi-sirop, siroté, gagne-sirop, sirop-grelot," + " passe-montagne, sirop au bon goût.") + class TestStackViewMainWindow(TestCaseQt): """Base class for tests of StackView.""" |