Charj Arrays: Add slicing test
authorPhil Miller <mille121@illinois.edu>
Tue, 9 Nov 2010 00:20:46 +0000 (18:20 -0600)
committerPhil Miller <mille121@illinois.edu>
Tue, 9 Nov 2010 00:29:29 +0000 (18:29 -0600)
src/langs/charj/src/charj/libs/Array.cpp

index 0a0a35b6938839b7178e9bf183ce83730e9363a3..89103ccd5d8ff5ff75907de3fd7ea52b8f786507 100644 (file)
@@ -111,6 +111,24 @@ public:
   }
 };
 
+struct Slicing : public ArrayTest {
+  string testName() {
+    return "array slicing";
+  }
+
+  bool test() {
+    const static int N = 5;
+    Array<int> a = Domain<1>(N);
+    for(int i = 0; i < N; ++i)
+      a[i] = i;
+    Array<int> &b = *(a[Domain<1>(3,4)]);
+    if (b[0] != 3) {
+      return false;
+    }
+    return true;
+  }
+};
+
 static void print_result(ArrayTest *test)
 {
   bool status = test->test();
@@ -122,10 +140,12 @@ int main(void) {
   Array1DUnit a1;
   Array2DUnitLinear a2;
   Array2DUnitRowMajor a3;
+  Slicing s;
 
   tests.push_back(&a1);
   tests.push_back(&a2);
   tests.push_back(&a3);
+  tests.push_back(&s);
 
   for_each(tests.begin(), tests.end(), print_result);