summaryrefslogtreecommitdiff
path: root/silx/gui/plot/test/testStackView.py
diff options
context:
space:
mode:
Diffstat (limited to 'silx/gui/plot/test/testStackView.py')
-rw-r--r--silx/gui/plot/test/testStackView.py33
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."""