From 707a44cf110f03d5c67d1c6d59b7f7af2d977a9f Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Fri, 4 Mar 2022 16:41:58 +0100
Subject: [PATCH] L2SS-674: Explicitly test writing multiple subbands with the
 XST statistics_writer

---
 ...T_statistics_packets_multiple_subbands.bin | Bin 0 -> 32705 bytes
 .../test/test_statistics_writer.py            |  20 +++++++++++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 tangostationcontrol/tangostationcontrol/test/SDP_XST_statistics_packets_multiple_subbands.bin

diff --git a/tangostationcontrol/tangostationcontrol/test/SDP_XST_statistics_packets_multiple_subbands.bin b/tangostationcontrol/tangostationcontrol/test/SDP_XST_statistics_packets_multiple_subbands.bin
new file mode 100644
index 0000000000000000000000000000000000000000..4fd980fd13fc166c29213006d2935b4eb30d3435
GIT binary patch
literal 32705
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

literal 0
HcmV?d00001

diff --git a/tangostationcontrol/tangostationcontrol/test/test_statistics_writer.py b/tangostationcontrol/tangostationcontrol/test/test_statistics_writer.py
index 4b10230c8..8ce24f7bc 100644
--- a/tangostationcontrol/tangostationcontrol/test/test_statistics_writer.py
+++ b/tangostationcontrol/tangostationcontrol/test/test_statistics_writer.py
@@ -10,7 +10,7 @@
 from tangostationcontrol.test import base
 from tangostationcontrol.statistics_writer import statistics_writer
 import sys
-from os.path import dirname
+from os.path import dirname, isfile
 from tempfile import TemporaryDirectory
 from unittest import mock
 
@@ -22,9 +22,27 @@ class TestStatisticsWriter(base.TestCase):
                 with self.assertRaises(SystemExit):
                     statistics_writer.main()
 
+            # check if file was written
+            self.assertTrue(isfile(f"{tmpdir}/SST_2021-09-20-12-17-40.h5"))
+
     def test_xst(self):
         with TemporaryDirectory() as tmpdir:
             new_sys_argv = [sys.argv[0], "--mode", "XST", "--file", dirname(__file__) + "/SDP_XST_statistics_packets.bin", "--output_dir", tmpdir]
             with mock.patch.object(statistics_writer.sys, 'argv', new_sys_argv):
                 with self.assertRaises(SystemExit):
                     statistics_writer.main()
+
+            # check if file was written
+            self.assertTrue(isfile(f"{tmpdir}/XST_SB102_2021-09-13-13-21-32.h5"))
+
+    def test_xst_multiple_subbands(self):
+        with TemporaryDirectory() as tmpdir:
+            new_sys_argv = [sys.argv[0], "--mode", "XST", "--file", dirname(__file__) + "/SDP_XST_statistics_packets_multiple_subbands.bin", "--output_dir", tmpdir]
+            with mock.patch.object(statistics_writer.sys, 'argv', new_sys_argv):
+                with self.assertRaises(SystemExit):
+                    statistics_writer.main()
+
+            # check if files were written
+            self.assertTrue(isfile(f"{tmpdir}/XST_SB102_2021-09-13-13-21-32.h5"))
+            self.assertTrue(isfile(f"{tmpdir}/XST_SB103_2021-09-13-13-21-32.h5"))
+
-- 
GitLab