/[escript]/trunk/escript/test/DataTypesTestCase.cpp
ViewVC logotype

Diff of /trunk/escript/test/DataTypesTestCase.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2881 by jfenwick, Thu Jan 28 02:03:15 2010 UTC revision 3597 by caltinay, Thu Sep 15 06:03:17 2011 UTC
# Line 12  Line 12 
12  *******************************************************/  *******************************************************/
13    
14    
15    #include "DataTypesTestCase.h"
16  #include "escript/DataAlgorithm.h"  #include "escript/DataAlgorithm.h"
17    #include "escript/DataTypes.h"
18  #include "escript/DataVector.h"  #include "escript/DataVector.h"
19  #include "esysUtils/EsysException.h"  #include "esysUtils/EsysException.h"
20    
21  #include "DataTypesTestCase.h"  #include <cppunit/TestCaller.h>
 #include "escript/DataTypes.h"  
   
22  #include <iostream>  #include <iostream>
23    
24  using namespace CppUnitTest;  using namespace CppUnit;
25  using namespace esysUtils;  using namespace esysUtils;
26  using namespace escript;  using namespace escript;
27  using namespace escript::DataTypes;  using namespace escript::DataTypes;
28  using namespace std;  using namespace std;
29    
 void DataTypesTestCase::setUp() {  
   //  
   // This is called before each test is run  
   
 }  
   
 void DataTypesTestCase::tearDown() {  
   //  
   // This is called after each test has been run  
   
 }  
   
30    
31  void DataTypesTestCase::testShapeFns() {  void DataTypesTestCase::testShapeFns()
32    {
33    cout << "\n\tTest Shape functions." << endl;    cout << "\n\tTest Shape functions." << endl;
34    ShapeType shape;    ShapeType shape;
35    shape.push_back(2);    shape.push_back(2);
36    ShapeType s1=shape;    ShapeType s1=shape;
37    assert(checkShape(s1,shape));    CPPUNIT_ASSERT(checkShape(s1,shape));
38    shape.push_back(3);    shape.push_back(3);
39    ShapeType s2=shape;    ShapeType s2=shape;
40    assert(checkShape(s2,shape));    CPPUNIT_ASSERT(checkShape(s2,shape));
41    shape.push_back(4);    shape.push_back(4);
42    ShapeType s3=shape;    ShapeType s3=shape;
43    assert(checkShape(s3,shape));    CPPUNIT_ASSERT(checkShape(s3,shape));
44    ShapeType s4=shape;    ShapeType s4=shape;
45    s4.push_back(5);    s4.push_back(5);
46    
47    cout << "\t\tNumber of Values." << endl;    cout << "\t\tNumber of Values." << endl;
48    assert(noValues(shape)==24);    CPPUNIT_ASSERT(noValues(shape)==24);
49    assert(noValues(scalarShape)==1);    CPPUNIT_ASSERT(noValues(scalarShape)==1);
50    cout << "\t\tGet Rank." << endl;    cout << "\t\tGet Rank." << endl;
51    assert(getRank(scalarShape)==0);    CPPUNIT_ASSERT(getRank(scalarShape)==0);
52    assert(getRank(shape)==3);    CPPUNIT_ASSERT(getRank(shape)==3);
53    
54    
55    cout << "\t\tNumber of Values for RegionLoopRangeType." << endl;    cout << "\t\tNumber of Values for RegionLoopRangeType." << endl;
56    RegionLoopRangeType rlr;    RegionLoopRangeType rlr;
57    assert(noValues(rlr)==1);    CPPUNIT_ASSERT(noValues(rlr)==1);
58    rlr.push_back(std::pair<int,int>(0,2));    rlr.push_back(std::pair<int,int>(0,2));
59    assert(noValues(rlr)==2);    CPPUNIT_ASSERT(noValues(rlr)==2);
60    rlr.push_back(std::pair<int,int>(1,4));    rlr.push_back(std::pair<int,int>(1,4));
61    assert(noValues(rlr)==6);    CPPUNIT_ASSERT(noValues(rlr)==6);
62    rlr.push_back(std::pair<int,int>(2,7));    rlr.push_back(std::pair<int,int>(2,7));
63    assert(noValues(rlr)==30);    CPPUNIT_ASSERT(noValues(rlr)==30);
64    cout << "\t\tRelative index methods.\n";    cout << "\t\tRelative index methods.\n";
65    assert(getRelIndex(s1,1)==1);    CPPUNIT_ASSERT(getRelIndex(s1,1)==1);
66    assert(getRelIndex(s2,1,2)==5);    CPPUNIT_ASSERT(getRelIndex(s2,1,2)==5);
67    assert(getRelIndex(shape,1,1,1)==9);    CPPUNIT_ASSERT(getRelIndex(shape,1,1,1)==9);
68    assert(getRelIndex(s4,2,1,1,1)==34);    CPPUNIT_ASSERT(getRelIndex(s4,2,1,1,1)==34);
69    cout << "\t\tCreateShapeErrorMessage.\n";    cout << "\t\tCreateShapeErrorMessage.\n";
70    assert(createShapeErrorMessage("prefix",s1,s2)==string("prefix This shape: (2,3) Other shape: (2)"));    CPPUNIT_ASSERT(createShapeErrorMessage("prefix",s1,s2)==string("prefix This shape: (2,3) Other shape: (2)"));
71    
72    cout << "\t\tgetSliceRegionLoopRange." << endl;    cout << "\t\tgetSliceRegionLoopRange." << endl;
73    RegionType r;    RegionType r;
# Line 90  void DataTypesTestCase::testShapeFns() { Line 79  void DataTypesTestCase::testShapeFns() {
79    rl.push_back(std::pair<int,int>(0,3));    rl.push_back(std::pair<int,int>(0,3));
80    rl.push_back(std::pair<int,int>(0,3));    rl.push_back(std::pair<int,int>(0,3));
81    RegionLoopRangeType rt=getSliceRegionLoopRange(r);    RegionLoopRangeType rt=getSliceRegionLoopRange(r);
82    assert(rt==rl);    CPPUNIT_ASSERT(rt==rl);
83    
84    
85  #ifdef DOASSERT  #ifdef DOASSERT
# Line 98  void DataTypesTestCase::testShapeFns() { Line 87  void DataTypesTestCase::testShapeFns() {
87    
88    cout << "\t\tInvalid index.(too many)" << endl;    cout << "\t\tInvalid index.(too many)" << endl;
89    // test too many indices    // test too many indices
90    try          CPPUNIT_ASSERT_THROW(getRelIndex(s1,1,1), EsysException);
91    {    CPPUNIT_ASSERT_THROW(getRelIndex(s2,1,1,1), EsysException);
92       getRelIndex(s1,1,1);    CPPUNIT_ASSERT_THROW(getRelIndex(s3,1,1,1,1), EsysException);
      assert(false);  
   } catch (EsysException&) {}  
   try        
   {  
      getRelIndex(s2,1,1,1);  
      assert(false);  
   } catch (EsysException&) {}  
   try        
   {  
      getRelIndex(s3,1,1,1,1);  
      assert(false);  
   } catch (EsysException&) {}  
93    // too few inidicies    // too few inidicies
94    cout << "\t\tInvalid index.(too few)" << endl;    cout << "\t\tInvalid index.(too few)" << endl;
95    try          CPPUNIT_ASSERT_THROW(getRelIndex(s2,1), EsysException);
96    {    CPPUNIT_ASSERT_THROW(getRelIndex(s3,1,1), EsysException);
97       getRelIndex(s2,1);    // indices too large
      assert(false);  
   } catch (EsysException&) {}  
   try        
   {  
      getRelIndex(s3,1,1);  
      assert(false);  
   } catch (EsysException&) {}  
   // inidicies too large  
98    cout << "\t\tInvalid index.(too large for shape)" << endl;    cout << "\t\tInvalid index.(too large for shape)" << endl;
99    try          CPPUNIT_ASSERT_THROW(getRelIndex(s1,10), EsysException);
100    {    CPPUNIT_ASSERT_THROW(getRelIndex(s3,2,4,4), EsysException);
      getRelIndex(s1,10);  
      assert(false);  
   } catch (EsysException&) {}  
   try        
   {  
      getRelIndex(s3,2,4,4);  
      assert(false);  
   } catch (EsysException&) {}  
   
101  #endif  #endif
102  }  }
103    
# Line 151  void DataTypesTestCase::testResultSliceS Line 111  void DataTypesTestCase::testResultSliceS
111    
112    region.push_back(DataTypes::RegionType::value_type(1,5));    region.push_back(DataTypes::RegionType::value_type(1,5));
113    resultShape.push_back(4);    resultShape.push_back(4);
114    assert(DataTypes::getResultSliceShape(region)==resultShape);    CPPUNIT_ASSERT(DataTypes::getResultSliceShape(region)==resultShape);
115    
116    region.push_back(DataTypes::RegionType::value_type(2,5));    region.push_back(DataTypes::RegionType::value_type(2,5));
117    resultShape.push_back(3);    resultShape.push_back(3);
118    assert(DataTypes::getResultSliceShape(region)==resultShape);    CPPUNIT_ASSERT(DataTypes::getResultSliceShape(region)==resultShape);
119    
120    region.push_back(DataTypes::RegionType::value_type(3,9));    region.push_back(DataTypes::RegionType::value_type(3,9));
121    resultShape.push_back(6);    resultShape.push_back(6);
122    assert(DataTypes::getResultSliceShape(region)==resultShape);    CPPUNIT_ASSERT(DataTypes::getResultSliceShape(region)==resultShape);
123    
124    region.push_back(DataTypes::RegionType::value_type(1,7));    region.push_back(DataTypes::RegionType::value_type(1,7));
125    resultShape.push_back(6);    resultShape.push_back(6);
126    assert(DataTypes::getResultSliceShape(region)==resultShape);    CPPUNIT_ASSERT(DataTypes::getResultSliceShape(region)==resultShape);
127    
128  }  }
129    
# Line 195  void DataTypesTestCase::testSlicing() { Line 155  void DataTypesTestCase::testSlicing() {
155     DataTypes::copySlice(targetData, DataTypes::scalarShape, 0, sourceData, sourceShape, 0,region);     DataTypes::copySlice(targetData, DataTypes::scalarShape, 0, sourceData, sourceShape, 0,region);
156    
157      // Check results of copy.      // Check results of copy.
158  //     assert(sourceView==targetView);  //     CPPUNIT_ASSERT(sourceView==targetView);
159      assert(targetData==sourceData);      CPPUNIT_ASSERT(targetData==sourceData);
160    }    }
161    
162    {    {
# Line 220  void DataTypesTestCase::testSlicing() { Line 180  void DataTypesTestCase::testSlicing() {
180      DataTypes::copySliceFrom(targetData, DataTypes::scalarShape, 0, sourceData, sourceShape, 0,region);      DataTypes::copySliceFrom(targetData, DataTypes::scalarShape, 0, sourceData, sourceShape, 0,region);
181    
182      // Check results of copy.      // Check results of copy.
183  //     assert(sourceView==targetView);  //     CPPUNIT_ASSERT(sourceView==targetView);
184      assert(sourceData==targetData);      CPPUNIT_ASSERT(sourceData==targetData);
185    }    }
186    
187    {    {
# Line 255  void DataTypesTestCase::testSlicing() { Line 215  void DataTypesTestCase::testSlicing() {
215    
216      // Check results of copy.      // Check results of copy.
217      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
218  //       assert(sourceView(i)==  //       CPPUNIT_ASSERT(sourceView(i)==
219  //              targetView(i-region[0].first));  //              targetView(i-region[0].first));
220      assert(sourceData[i]==targetData[i-region[0].first]);      CPPUNIT_ASSERT(sourceData[i]==targetData[i-region[0].first]);
221      }      }
222    }    }
223    
# Line 293  void DataTypesTestCase::testSlicing() { Line 253  void DataTypesTestCase::testSlicing() {
253    
254      // Check results of copy.      // Check results of copy.
255      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
256  /*      assert(sourceView(i)==  /*      CPPUNIT_ASSERT(sourceView(i)==
257               targetView());*/               targetView());*/
258        assert(sourceData[i]==        CPPUNIT_ASSERT(sourceData[i]==
259               targetData[0]);               targetData[0]);
260    
261      }      }
# Line 332  void DataTypesTestCase::testSlicing() { Line 292  void DataTypesTestCase::testSlicing() {
292    
293      // Check results of copy.      // Check results of copy.
294      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
295  /*      assert(sourceView(i-region[0].first)==  /*      CPPUNIT_ASSERT(sourceView(i-region[0].first)==
296               targetView(i));*/               targetView(i));*/
297        assert(sourceData[i-region[0].first]==        CPPUNIT_ASSERT(sourceData[i-region[0].first]==
298               targetData[i]);               targetData[i]);
299      }      }
300    }    }
# Line 368  void DataTypesTestCase::testSlicing() { Line 328  void DataTypesTestCase::testSlicing() {
328    
329      // Check results of copy.      // Check results of copy.
330      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
331        assert(sourceData[0]==        CPPUNIT_ASSERT(sourceData[0]==
332               targetData[i]);               targetData[i]);
333      }      }
334    }    }
# Line 409  void DataTypesTestCase::testSlicing() { Line 369  void DataTypesTestCase::testSlicing() {
369      // Check results of copy.      // Check results of copy.
370      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
371        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
372      assert(sourceData[getRelIndex(sourceShape,i,j)]==      CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j)]==
373                 targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first)]);                 targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first)]);
374        }        }
375      }      }
# Line 453  void DataTypesTestCase::testSlicing() { Line 413  void DataTypesTestCase::testSlicing() {
413      // Check results of copy.      // Check results of copy.
414      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
415        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
416      assert(sourceData[getRelIndex(sourceShape,i,j)]==      CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j)]==
417                 targetData[getRelIndex(targetShape,i-region[0].first)]);                 targetData[getRelIndex(targetShape,i-region[0].first)]);
418        }        }
419      }      }
# Line 497  void DataTypesTestCase::testSlicing() { Line 457  void DataTypesTestCase::testSlicing() {
457      // Check results of copy.      // Check results of copy.
458      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
459        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
460  /*  assert(sourceView(i,j)==  /*  CPPUNIT_ASSERT(sourceView(i,j)==
461                 targetView());*/                 targetView());*/
462      assert(sourceData[getRelIndex(sourceShape,i,j)]==      CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j)]==
463                 targetData[0]);                 targetData[0]);
464        }        }
465      }      }
# Line 542  void DataTypesTestCase::testSlicing() { Line 502  void DataTypesTestCase::testSlicing() {
502      // Check results of copy.      // Check results of copy.
503      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
504        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
505  //  assert(sourceView(i-region[0].first,j-region[1].first)==  //  CPPUNIT_ASSERT(sourceView(i-region[0].first,j-region[1].first)==
506  //                targetView(i,j));  //                targetView(i,j));
507      assert(sourceData[getRelIndex(sourceShape,i-region[0].first,j-region[1].first)]==      CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i-region[0].first,j-region[1].first)]==
508                 targetData[getRelIndex(targetShape,i,j)]);                 targetData[getRelIndex(targetShape,i,j)]);
509        }        }
510      }      }
# Line 582  void DataTypesTestCase::testSlicing() { Line 542  void DataTypesTestCase::testSlicing() {
542      // Check results of copy.      // Check results of copy.
543      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
544        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
545      assert(sourceData[0]==      CPPUNIT_ASSERT(sourceData[0]==
546                 targetData[getRelIndex(targetShape,i,j)]);                 targetData[getRelIndex(targetShape,i,j)]);
547        }        }
548      }      }
# Line 630  void DataTypesTestCase::testSlicing() { Line 590  void DataTypesTestCase::testSlicing() {
590      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
591        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
592          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
593  //    assert(sourceView(i,j,k)==  //    CPPUNIT_ASSERT(sourceView(i,j,k)==
594  //                  targetView(i-region[0].first,j-region[1].first,k-region[2].first));  //                  targetView(i-region[0].first,j-region[1].first,k-region[2].first));
595        assert(sourceData[getRelIndex(sourceShape,i,j,k)]==        CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k)]==
596                   targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first,k-region[2].first)]);                   targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first,k-region[2].first)]);
597          }          }
598        }        }
# Line 683  void DataTypesTestCase::testSlicing() { Line 643  void DataTypesTestCase::testSlicing() {
643      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
644        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
645          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
646  /*    assert(sourceView(i,j,k)==  /*    CPPUNIT_ASSERT(sourceView(i,j,k)==
647                   targetView(i-region[0].first,k-region[2].first));*/                       targetView(i-region[0].first,k-region[2].first));*/    
648            assert(sourceData[getRelIndex(sourceShape,i,j,k)]==            CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k)]==
649                   targetData[getRelIndex(targetShape,i-region[0].first,k-region[2].first)]);                   targetData[getRelIndex(targetShape,i-region[0].first,k-region[2].first)]);
650          }          }
651        }        }
# Line 735  void DataTypesTestCase::testSlicing() { Line 695  void DataTypesTestCase::testSlicing() {
695      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
696        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
697          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
698        assert(sourceData[getRelIndex(sourceShape,i,j,k)]==        CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k)]==
699                   targetData[getRelIndex(targetShape,k-region[2].first)]);                   targetData[getRelIndex(targetShape,k-region[2].first)]);
700          }          }
701        }        }
# Line 784  void DataTypesTestCase::testSlicing() { Line 744  void DataTypesTestCase::testSlicing() {
744      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
745        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
746          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
747        assert(sourceData[getRelIndex(sourceShape, i,j,k)]==        CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape, i,j,k)]==
748                   targetData[0]);                   targetData[0]);
749          }          }
750        }        }
# Line 833  void DataTypesTestCase::testSlicing() { Line 793  void DataTypesTestCase::testSlicing() {
793      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
794        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
795          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
796        assert(sourceData[getRelIndex(sourceShape,i-region[0].first,j-region[1].first,k-region[2].first)]==        CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i-region[0].first,j-region[1].first,k-region[2].first)]==
797                   targetData[getRelIndex(targetShape,i,j,k)]);                   targetData[getRelIndex(targetShape,i,j,k)]);
798          }          }
799        }        }
# Line 874  void DataTypesTestCase::testSlicing() { Line 834  void DataTypesTestCase::testSlicing() {
834      for (int i=region[0].first;i<region[0].second;i++) {      for (int i=region[0].first;i<region[0].second;i++) {
835        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
836          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
837        assert(sourceData[0]==        CPPUNIT_ASSERT(sourceData[0]==
838                   targetData[getRelIndex(targetShape,i,j,k)]);                   targetData[getRelIndex(targetShape,i,j,k)]);
839          }          }
840        }        }
# Line 928  void DataTypesTestCase::testSlicing() { Line 888  void DataTypesTestCase::testSlicing() {
888        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
889          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
890            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
891  //      assert(sourceView(i,j,k,l)==  //      CPPUNIT_ASSERT(sourceView(i,j,k,l)==
892  //                    targetView(i-region[0].first,j-region[1].first,k-region[2].first,l-region[3].first));  //                    targetView(i-region[0].first,j-region[1].first,k-region[2].first,l-region[3].first));
893          assert(sourceData[getRelIndex(sourceShape,i,j,k,l)]==          CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k,l)]==
894                     targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first,k-region[2].first,l-region[3].first)]);                     targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first,k-region[2].first,l-region[3].first)]);
895            }            }
896          }          }
# Line 988  void DataTypesTestCase::testSlicing() { Line 948  void DataTypesTestCase::testSlicing() {
948        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
949          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
950            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
951          assert(sourceData[getRelIndex(sourceShape,i,j,k,l)]==          CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k,l)]==
952                     targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first,l-region[3].first)]);                     targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first,l-region[3].first)]);
953            }            }
954          }          }
# Line 1045  void DataTypesTestCase::testSlicing() { Line 1005  void DataTypesTestCase::testSlicing() {
1005        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
1006          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
1007            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
1008          assert(sourceData[getRelIndex(sourceShape,i,j,k,l)]==          CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k,l)]==
1009                     targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first)]);                     targetData[getRelIndex(targetShape,i-region[0].first,j-region[1].first)]);
1010            }            }
1011          }          }
# Line 1101  void DataTypesTestCase::testSlicing() { Line 1061  void DataTypesTestCase::testSlicing() {
1061        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
1062          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
1063            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
1064          assert(sourceData[getRelIndex(sourceShape,i,j,k,l)]==          CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k,l)]==
1065                     targetData[getRelIndex(targetShape,j-region[1].first)]);                     targetData[getRelIndex(targetShape,j-region[1].first)]);
1066            }            }
1067          }          }
# Line 1156  void DataTypesTestCase::testSlicing() { Line 1116  void DataTypesTestCase::testSlicing() {
1116        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
1117          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
1118            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
1119          assert(sourceData[getRelIndex(sourceShape,i,j,k,l)]==          CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i,j,k,l)]==
1120                     targetData[0]);                     targetData[0]);
1121            }            }
1122          }          }
# Line 1211  void DataTypesTestCase::testSlicing() { Line 1171  void DataTypesTestCase::testSlicing() {
1171        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
1172          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
1173            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
1174          assert(sourceData[getRelIndex(sourceShape,i-region[0].first,j-region[1].first,k-region[2].first,l-region[3].first)]==          CPPUNIT_ASSERT(sourceData[getRelIndex(sourceShape,i-region[0].first,j-region[1].first,k-region[2].first,l-region[3].first)]==
1175                     targetData[getRelIndex(targetShape,i,j,k,l)]);                     targetData[getRelIndex(targetShape,i,j,k,l)]);
1176            }            }
1177          }          }
# Line 1257  void DataTypesTestCase::testSlicing() { Line 1217  void DataTypesTestCase::testSlicing() {
1217        for (int j=region[1].first;j<region[1].second;j++) {        for (int j=region[1].first;j<region[1].second;j++) {
1218          for (int k=region[2].first;k<region[2].second;k++) {          for (int k=region[2].first;k<region[2].second;k++) {
1219            for (int l=region[3].first;l<region[3].second;l++) {            for (int l=region[3].first;l<region[3].second;l++) {
1220          assert(sourceData[0]==          CPPUNIT_ASSERT(sourceData[0]==
1221                     targetData[getRelIndex(targetShape,i,j,k,l)]);                     targetData[getRelIndex(targetShape,i,j,k,l)]);
1222            }            }
1223          }          }
# Line 1275  void DataTypesTestCase::testShapeToStrin Line 1235  void DataTypesTestCase::testShapeToStrin
1235    cout << "\tTest shapeToString for a variety of shapes." << endl;    cout << "\tTest shapeToString for a variety of shapes." << endl;
1236    
1237    DataTypes::ShapeType shape;    DataTypes::ShapeType shape;
1238    assert(DataTypes::shapeToString(shape)=="()");    CPPUNIT_ASSERT(DataTypes::shapeToString(shape)=="()");
1239    shape.push_back(5);    shape.push_back(5);
1240    assert(DataTypes::shapeToString(shape)=="(5)");    CPPUNIT_ASSERT(DataTypes::shapeToString(shape)=="(5)");
1241    shape.push_back(2);    shape.push_back(2);
1242    assert(DataTypes::shapeToString(shape)=="(5,2)");    CPPUNIT_ASSERT(DataTypes::shapeToString(shape)=="(5,2)");
1243    shape.push_back(9);    shape.push_back(9);
1244    assert(DataTypes::shapeToString(shape)=="(5,2,9)");    CPPUNIT_ASSERT(DataTypes::shapeToString(shape)=="(5,2,9)");
1245    shape.push_back(4);    shape.push_back(4);
1246    assert(DataTypes::shapeToString(shape)=="(5,2,9,4)");    CPPUNIT_ASSERT(DataTypes::shapeToString(shape)=="(5,2,9,4)");
1247    
1248  }  }
1249    
1250    
1251    TestSuite* DataTypesTestCase::suite()
 TestSuite* DataTypesTestCase::suite ()  
1252  {  {
1253    //    //
1254    // create the suite of tests to perform.    // create the suite of tests to perform.
1255    TestSuite *testSuite = new TestSuite ("DataTypesTestCase");    TestSuite *testSuite = new TestSuite("DataTypesTestCase");
1256    testSuite->addTest (new TestCaller< DataTypesTestCase>("testShapeToString",&DataTypesTestCase::testShapeToString));    testSuite->addTest(new TestCaller<DataTypesTestCase>(
1257    testSuite->addTest (new TestCaller< DataTypesTestCase>("testResultSliceShape",&DataTypesTestCase::testResultSliceShape));                "testShapeToString",&DataTypesTestCase::testShapeToString));
1258    testSuite->addTest (new TestCaller< DataTypesTestCase>("testSlicing",&DataTypesTestCase::testSlicing));    testSuite->addTest(new TestCaller<DataTypesTestCase>(
1259    testSuite->addTest (new TestCaller< DataTypesTestCase>("testShapeFunctions",&DataTypesTestCase::testShapeFns));                "testResultSliceShape",&DataTypesTestCase::testResultSliceShape));
1260      testSuite->addTest(new TestCaller<DataTypesTestCase>(
1261                  "testSlicing",&DataTypesTestCase::testSlicing));
1262      testSuite->addTest(new TestCaller<DataTypesTestCase>(
1263                  "testShapeFunctions",&DataTypesTestCase::testShapeFns));
1264    return testSuite;    return testSuite;
1265  }  }
1266    

Legend:
Removed from v.2881  
changed lines
  Added in v.3597

  ViewVC Help
Powered by ViewVC 1.1.26