From ebb7fd7d13b76f3f71524295ec4ea775a043ecbe Mon Sep 17 00:00:00 2001
From: Ruud Overeem <overeem@astron.nl>
Date: Fri, 21 Mar 2008 09:30:43 +0000
Subject: [PATCH] Bug 1167: Cleaned up MAC layers. There are less dependancies
 between the packages now.

---
 LCS/Common/test/tStringUtil.cc | 71 +++++++++++++++++++++++++++++++++-
 1 file changed, 69 insertions(+), 2 deletions(-)

diff --git a/LCS/Common/test/tStringUtil.cc b/LCS/Common/test/tStringUtil.cc
index ad5fd30ecfc..2a8c305c12c 100644
--- a/LCS/Common/test/tStringUtil.cc
+++ b/LCS/Common/test/tStringUtil.cc
@@ -33,7 +33,6 @@
 using namespace LOFAR;
 using namespace std;
 
-
 #define TOSTRING_TEST(type,min,max) \
 { \
   cout << "min(" #type ") = " << toString(min) \
@@ -47,6 +46,11 @@ using namespace std;
        << toString(x, format) << endl; \
 }
 
+#define	DO_COMPACT_TEST(x) \
+	cout << (x) << " ==> " << compactedArrayString(x) << endl;
+
+#define	DO_EXPAND_TEST(x) \
+	cout << (x) << " ==> " << expandedArrayString(x) << endl;
 
 bool testSplit()
 {
@@ -172,6 +176,67 @@ bool testToString()
   return true;
 }
 
+bool testCompactArray()
+{
+  try {
+	DO_COMPACT_TEST("[ a,b,c ]");
+	DO_COMPACT_TEST("[ aa01,aa06 ]");
+	DO_COMPACT_TEST("[ aa01,aa02 ]");
+	DO_COMPACT_TEST("[ aa01,aa02,aa03 ]");
+	DO_COMPACT_TEST("[ aa01,aa02,aa03,aa04 ]");
+	DO_COMPACT_TEST("[ aa01,aa02,aa03,aa05 ]");
+	DO_COMPACT_TEST("[ aa01, aa02 ,aa03,aa05,aa06 ]");
+	DO_COMPACT_TEST("[ aa01, bb02 ,aa03,aa05,aa06 ]");
+	DO_COMPACT_TEST("[ aa01, aa02 ,aa0003,aa05,aa06 ]");
+	DO_COMPACT_TEST("[ aa01,aa02,aa03,aa05,aa06,aa7 ]");
+	DO_COMPACT_TEST("[ aa01,aa02,aa03,aa05,a06,aa7 ]");
+	DO_COMPACT_TEST("[ aa01,aa02,aa03,aa05,aaa06,aa7 ]");
+
+	DO_COMPACT_TEST("[22,23,24,25,30,31,33,35]");
+	DO_COMPACT_TEST("[22,23,24,25,30,31,33,35,36]");
+	DO_COMPACT_TEST("[22,23,24,25,30,31,33,35,36,37]");
+	DO_COMPACT_TEST("[22,23,24,25,30,31,33,35,36,37,37]");
+	DO_COMPACT_TEST("[22,23,24,25,30,31,33,35,36,37,40]");
+	DO_COMPACT_TEST("[22,23,23,25,30,31,30]");
+	DO_COMPACT_TEST("[22,23,23,25,30,31,30,31]");
+	DO_COMPACT_TEST("[22,23,23,25,30,31,30,31,31]");
+	DO_COMPACT_TEST("[22,23,23,23,23,23,25,30,31,30,31,31]");
+  } catch(Exception& e) {
+	LOG_ERROR_STR(e);
+	return (false);
+  }
+  return (true);
+}
+
+bool testExpandArray()
+{	
+  try {
+	DO_EXPAND_TEST("[ a,b,c ]");
+	DO_EXPAND_TEST("[ aa01,aa06 ]");
+	DO_EXPAND_TEST("[ aa01,aa02 ]");
+	DO_EXPAND_TEST("[ aa01..aa02 ]");
+	DO_EXPAND_TEST("[ aa01..aa03 ]");
+	DO_EXPAND_TEST("[ aa01..aa03,aa04 ]");
+	DO_EXPAND_TEST("[ aa01..aa03,aa05 ]");
+	DO_EXPAND_TEST("[ aa02,aa05..aa07]");
+	DO_EXPAND_TEST("[ aa02,aa05..aa04]");
+	DO_EXPAND_TEST("[ aa02,aa05..aa05]");
+
+	DO_EXPAND_TEST("[ aa01..ba03,aa05 ]");
+	DO_EXPAND_TEST("[ aa01..aa03,ba05 ]");
+	DO_EXPAND_TEST("[ aa01,ab03,aa05 ]");
+	DO_EXPAND_TEST("[ aa01,ab03..aa05 ]");
+	DO_EXPAND_TEST("[ aa01,aa03..ab05 ]");
+	DO_EXPAND_TEST("[ aa01,bb03..bb05 ]");
+
+	DO_EXPAND_TEST("[0..191]");
+	DO_EXPAND_TEST("[0,1,2,6,3,4,10..19,16]");
+  } catch(Exception& e) {
+	LOG_ERROR_STR(e);
+	return (false);
+  }
+  return (true);
+}
 
 int main()
 {
@@ -183,7 +248,9 @@ int main()
     testCompare(true)  &&
     testTrim()         &&
     testCase()         &&
-    testToString();
+    testToString()	   &&
+	testCompactArray() &&
+	testExpandArray();
 
   return (result ? 0 : 1);
 }
-- 
GitLab