From fce7f058f2f837be61ff2b0347b8540d61254a99 Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Wed, 28 Jul 2021 17:52:12 +0100
Subject: [PATCH] TEST: Test loadData behaviour

---
 tests/test_image_advanced.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tests/test_image_advanced.py b/tests/test_image_advanced.py
index 1f1aed8a2..99437f660 100644
--- a/tests/test_image_advanced.py
+++ b/tests/test_image_advanced.py
@@ -321,3 +321,26 @@ def _test_image_calcRange(threaded):
     if threaded:
         img.getImageWrapper().getTaskThread().waitUntilIdle()
     assert img.dataRange == (0, 1)
+
+
+# sanity check - make sure data is not loaded
+# when loadData is False (fsl/fslpy#374)
+def test_Image_loadData():
+    with tests.testdir() as testdir:
+        filename = 'image.nii.gz'
+
+        # Data range grows with volume
+        data  = np.zeros((50, 50, 50, 50))
+        for vol in range(data.shape[-1]):
+            data[..., vol] = vol
+
+        fslimage.Image(data).save(filename)
+
+        img = fslimage.Image(filename, loadData=False)
+        assert not img.getImageWrapper().dataIsLoaded
+
+        img = fslimage.Image(filename, loadData=False, calcRange=False)
+        assert not img.getImageWrapper().dataIsLoaded
+
+        img = fslimage.Image(filename, loadData=False, calcRange=True)
+        assert not img.getImageWrapper().dataIsLoaded
-- 
GitLab