diff --git a/tests/test_imagewrapper.py b/tests/test_imagewrapper.py
index b074358d28f6ee05101fa4e7a9a714249c7820dc..1237cd55d02966fc5596c32825dcec071f9c8b2e 100644
--- a/tests/test_imagewrapper.py
+++ b/tests/test_imagewrapper.py
@@ -257,6 +257,55 @@ def coverageDataRange(data, coverage, slices=None):
     return np.min(volmin), np.max(volmax)
 
 
+def test_expectedShape():
+
+    tests = [
+        ((slice(None), ), (10,),
+         (1, (10, ))),
+
+        ((slice(None), slice(None)),
+         (10, 10), (2, (10, 10))),
+
+        ((slice(None), slice(None), slice(None)),
+         (10, 10, 10), (3, (10, 10, 10))),
+
+        ((slice(None), slice(None), slice(None)),
+         (10, 10, 10), (3, (10, 10, 10))),
+
+        ((slice(None), slice(None), slice(None), slice(None)),
+         (10, 10, 10, 10), (4, (10, 10, 10, 10))),
+
+        ((1, slice(None), slice(None)),
+         (10, 10, 10), (2, (10, 10))),
+
+        ((slice(1, 3), slice(None), slice(None)),
+         (10, 10, 10), (3, (2, 10, 10))),
+
+        ((slice(None), 1, slice(None)),
+         (10, 10, 10), (2, (10, 10))),
+
+        ((slice(None), slice(1, 3), slice(None)),
+         (10, 10, 10), (3, (10, 2, 10))),
+
+        ((slice(None), slice(None), 1),
+         (10, 10, 10), (2, (10, 10))),
+
+        ((slice(None), slice(None), slice(1, 3), ),
+         (10, 10, 10), (3, (10, 10, 2))),
+
+        ((slice(None), slice(None), slice(1, 20), ),
+         (10, 10, 10), (3, (10, 10, 9))),
+    ]
+
+    for slc, shape, exp in tests:
+
+        explen, exp = exp
+        gotlen, got = imagewrap.expectedShape(slc, shape)
+
+        assert explen     == gotlen
+        assert tuple(exp) == tuple(got)
+
+
 def test_sliceObjToSliceTuple():
 
     func  = imagewrap.sliceObjToSliceTuple