From 7e2594c962f287f442624e6ee65cd02bfe7609a9 Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Fri, 7 Sep 2018 12:30:53 +0100
Subject: [PATCH] TEST: Unit test for expectedShape

---
 tests/test_imagewrapper.py | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/tests/test_imagewrapper.py b/tests/test_imagewrapper.py
index b074358d2..1237cd55d 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
-- 
GitLab