/[escript]/temp_trunk_copy/escript/test/DataTaggedTestCase.cpp
ViewVC logotype

Diff of /temp_trunk_copy/escript/test/DataTaggedTestCase.cpp

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

trunk/esys2/escript/test/DataTagged/DataTaggedTestCase.cpp revision 95 by jgs, Wed Oct 27 00:53:16 2004 UTC trunk/escript/test/DataTagged/DataTaggedTestCase.cpp revision 499 by jgs, Tue Feb 7 04:40:44 2006 UTC
# Line 12  Line 12 
12   *                                                                           *   *                                                                           *
13   *****************************************************************************   *****************************************************************************
14  */  */
 #include "escript/Data/DataTagged.h"  
 #include "escript/Data/BinaryOp.h"  
 #include "escript/Data/UnaryOp.h"  
 #include "esysUtils/EsysException.h"  
   
 #include "finley/CPPAdapter/MeshAdapter.h"  
 #include "finley/CPPAdapter/MeshAdapterFactory.h"  
 #include "escript/Data/AbstractContinuousDomain.h"  
15    
16  #include "escript/Data/FunctionSpaceFactory.h"  #include "EsysException.h"
17  #include "escript/Data/DataFactory.h"  
18    #include "DataTagged.h"
19    
20  #include "DataTaggedTestCase.h"  #include "DataTaggedTestCase.h"
21    
22    #include "BinaryOp.h"
23    #include "UnaryOp.h"
24    #include "FunctionSpaceFactory.h"
25    #include "DataFactory.h"
26    
27  #include <iostream>  #include <iostream>
28  #include <functional>  #include <functional>
29  #include <algorithm>  #include <algorithm>
# Line 35  using namespace escript; Line 33  using namespace escript;
33  using namespace esysUtils;  using namespace esysUtils;
34  using namespace std;  using namespace std;
35    
 using namespace finley;  
   
36  void DataTaggedTestCase::setUp() {  void DataTaggedTestCase::setUp() {
37    //    //
38    // This is called before each test is run    // This is called before each test is run
# Line 91  void DataTaggedTestCase::testOperations( Line 87  void DataTaggedTestCase::testOperations(
87    cout << endl;    cout << endl;
88    
89    {    {
     cout << "\tTest default DataTagged contains only a default value." << endl;  
90      DataTagged left;      DataTagged left;
91      DataTagged right;      DataTagged right;
92    
93        cout << "\tTest default DataTagged contains only a default value." << endl;
94      binaryOp(left,right,plus<double>());      binaryOp(left,right,plus<double>());
95      assert(left.getPointDataView()()==0);      assert(left.getPointDataView()()==0);
96      assert(right.getPointDataView()()==0);      assert(right.getPointDataView()()==0);
97      cout << "\tTest addTaggedValue and binaryOp(plus)." << endl;  
98        cout << "\tTest binaryOp(plus)." << endl;
99      DataArray vOne(1.0);      DataArray vOne(1.0);
100      DataArray vTwo(2.0);      DataArray vTwo(2.0);
101      right.addTaggedValue(1,vOne.getView());      right.addTaggedValue(1,vOne.getView());
# Line 106  void DataTaggedTestCase::testOperations( Line 104  void DataTaggedTestCase::testOperations(
104      assert(left.getPointDataView()()==0);      assert(left.getPointDataView()()==0);
105      assert(left.getDataPointByTag(1)==vOne.getView());      assert(left.getDataPointByTag(1)==vOne.getView());
106      assert(left.getDataPointByTag(2)==vTwo.getView());      assert(left.getDataPointByTag(2)==vTwo.getView());
107      cout << "\tTest setTaggedValue and binaryOp(multiplies)." << endl;  
108        cout << "\tTest binaryOp(multiplies)." << endl;
109      DataArray vZero(0.0);      DataArray vZero(0.0);
110      right.setTaggedValue(1,vZero.getView());      right.setTaggedValue(1,vZero.getView());
111      right.setTaggedValue(2,vZero.getView());      right.setTaggedValue(2,vZero.getView());
# Line 116  void DataTaggedTestCase::testOperations( Line 115  void DataTaggedTestCase::testOperations(
115      assert(left.getDataPointByTag(2)==vZero.getView());      assert(left.getDataPointByTag(2)==vZero.getView());
116    }    }
117    {    {
     DataArrayView::ValueType viewData;  
118      DataArrayView::ShapeType viewShape;      DataArrayView::ShapeType viewShape;
119      viewShape.push_back(3);      viewShape.push_back(3);
120        DataArrayView::ValueType viewData(3);
121      DataTagged::TagListType keys;      DataTagged::TagListType keys;
122      DataTagged::ValueListType values;      DataTagged::ValueListType values;
123      for (int i=0;i<viewShape[0];++i) {      for (int i=0;i<viewShape[0];++i) {
124        viewData.push_back(i);        viewData[i]=i;
125      }      }
126      DataArrayView myView(viewData,viewShape);      DataArrayView myView(viewData,viewShape);
127      cout << "\tCreate tagged data with no tag values just a default." << endl;      cout << "\tCreate tagged data with no tag values just a default." << endl;
# Line 182  void DataTaggedTestCase::testOperations( Line 181  void DataTaggedTestCase::testOperations(
181      assert(tData.getDataPointByTag(2)==tTwoView);      assert(tData.getDataPointByTag(2)==tTwoView);
182      assert(tData.getDataPointByTag(3)==tThreeView);      assert(tData.getDataPointByTag(3)==tThreeView);
183    }    }
   
184  }  }
185    
186  void DataTaggedTestCase::testAll() {  void DataTaggedTestCase::testAll() {
187    
188    cout << endl;    cout << endl;
189    
190    {    {
191      cout << "\tTest default construction." << endl;  
192        cout << "\tTest default DataTagged." << endl;
193      DataTagged myData;      DataTagged myData;
194      assert(myData.getPointDataView()()==0);  
195      assert(myData.getNumDPPSample()==1);      //cout << myData.toString() << endl;
196    
197      assert(myData.getNumSamples()==1);      assert(myData.getNumSamples()==1);
198      cout << "\tTest adding two keys with empty value list." << endl;      assert(myData.getNumDPPSample()==1);
199      DataTagged::TagListType keys;  
200      DataTagged::ValueListType values;      assert(myData.validSamplePointNo(0));
201      keys.push_back(1);      assert(myData.validSampleNo(0));
202      keys.push_back(2);      assert(!myData.validSamplePointNo(1));
203      myData.addTaggedValues(keys,values);      assert(!myData.validSampleNo(1));
204      for (int i=0;i<keys.size();++i) {  
205        assert(myData.getPointDataView()()==0);      assert(myData.getTagNumber(0)==1);
206      }  
207        assert(!myData.isCurrentTag(1));
208    
209        assert(myData.getTagLookup().size()==0);
210    
211        assert(myData.getLength()==1);
212    
213        assert(myData.getPointOffset(0,0)==0);
214    
215        DataArrayView myDataView = myData.getDataPoint(0,0);
216        assert(!myDataView.isEmpty());
217        assert(myDataView.getOffset()==0);
218        assert(myDataView.getRank()==0);
219        assert(myDataView.noValues()==1);
220        assert(myDataView.getShape().size()==0);
221        assert(myDataView()==0.0);
222    
223        // Test non-existent tag returns the default value.
224        myDataView = myData.getDataPointByTag(1);
225        assert(!myDataView.isEmpty());
226        assert(myDataView.getOffset()==0);
227        assert(myDataView.getRank()==0);
228        assert(myDataView.noValues()==1);
229        assert(myDataView.getShape().size()==0);
230        assert(myDataView()==0.0);
231    
232        myDataView = myData.getDefaultValue();
233        assert(!myDataView.isEmpty());
234        assert(myDataView.getOffset()==0);
235        assert(myDataView.getRank()==0);
236        assert(myDataView.noValues()==1);
237        assert(myDataView.getShape().size()==0);
238        assert(myDataView()==0.0);
239    
240        //cout << "\tTest adding two keys with empty value list." << endl;
241        //DataTagged::TagListType keys;
242        //DataTagged::ValueListType values;
243        //keys.push_back(1);
244        //keys.push_back(2);
245        //myData.addTaggedValues(keys,values);
246        //for (int i=0;i<keys.size();++i) {
247        //  assert(myData.getPointDataView()()==0);
248        //}
249    
250    }    }
251    
252    {    {
253      DataArrayView::ValueType viewData;  
254        cout << "\tTest DataTagged with default value only." << endl;
255    
256      DataArrayView::ShapeType viewShape;      DataArrayView::ShapeType viewShape;
257      viewShape.push_back(3);      viewShape.push_back(3);
258    
259      DataTagged::TagListType keys;      DataTagged::TagListType keys;
260    
261      DataTagged::ValueListType values;      DataTagged::ValueListType values;
262      for (int i=0;i<viewShape[0];++i) {  
263        viewData.push_back(0.0);      DataArrayView::ValueType viewData(3);
264        for (int i=0;i<viewShape[0];i++) {
265          viewData[i]=i;
266      }      }
267      DataArrayView myView(viewData,viewShape);      DataArrayView myView(viewData,viewShape);
268      cout << "\tCreate tagged data with no tag values just a default." << endl;  
269      DataTagged myData(keys,values,myView,FunctionSpace());      DataTagged myData(keys,values,myView,FunctionSpace());
270      assert(myData.getNumDPPSample()==1);  
271        //cout << myData.toString() << endl;
272    
273      assert(myData.getNumSamples()==1);      assert(myData.getNumSamples()==1);
274      cout << "\tTest non existent tag returns the default value." << endl;      assert(myData.getNumDPPSample()==1);
275      assert(myData.getDataPointByTag(1)==myView);  
276      cout << "\tTest adding a single tag value." << endl;      assert(myData.validSamplePointNo(0));
277      for (int i=0;i<myView.getShape()[0];++i) {      assert(myData.validSampleNo(0));
278        myView(i)=i;      assert(!myData.validSamplePointNo(1));
279      }      assert(!myData.validSampleNo(1));
280      values.push_back(myView);  
281      keys.push_back(1);      assert(myData.getTagNumber(0)==1);
282      myData.addTaggedValues(keys,values);  
283      assert(myData.getDataPointByTag(1)==myView);      assert(!myData.isCurrentTag(1));
284      cout << "\tTest addition of further tags." << endl;  
285      keys.clear();      assert(myData.getTagLookup().size()==0);
286      keys.push_back(3);  
287      for (int i=0;i<myView.getShape()[0];++i) {      assert(myData.getLength()==3);
288        myView(i)=i+1.5;  
289      }      assert(myData.getPointOffset(0,0)==0);
290      myData.addTaggedValues(keys,values);  
291      assert(myData.getDataPointByTag(3)==myView);      DataArrayView myDataView = myData.getDataPoint(0,0);
292      assert(myData.getDataPointByTag(1)!=myView);      assert(myDataView==myView);
293      cout << "\tTrigger the size mismatch exception." << endl;      assert(!myDataView.isEmpty());
294      try {      assert(myDataView.getOffset()==0);
295        values.push_back(myView);      assert(myDataView.getRank()==1);
296        myData.addTaggedValues(keys,values);      assert(myDataView.noValues()==3);
297        assert(false);      assert(myDataView.getShape().size()==1);
298      }      assert(myDataView(0)==0);
299      catch (EsysException& e) {      assert(myDataView(1)==1);
300        //cout << e.what() << endl;      assert(myDataView(2)==2);
301        assert(true);  
302      }      // Test non-existent tag returns the default value.
303        myDataView = myData.getDataPointByTag(1);
304        assert(myDataView==myView);
305        assert(!myDataView.isEmpty());
306        assert(myDataView.getOffset()==0);
307        assert(myDataView.getRank()==1);
308        assert(myDataView.noValues()==3);
309        assert(myDataView.getShape().size()==1);
310        assert(myDataView(0)==0);
311        assert(myDataView(1)==1);
312        assert(myDataView(2)==2);
313    
314        myDataView = myData.getDefaultValue();
315        assert(myDataView==myView);
316        assert(!myDataView.isEmpty());
317        assert(myDataView.getOffset()==0);
318        assert(myDataView.getRank()==1);
319        assert(myDataView.noValues()==3);
320        assert(myDataView.getShape().size()==1);
321        assert(myDataView(0)==0);
322        assert(myDataView(1)==1);
323        assert(myDataView(2)==2);
324    
325        //cout << "\tTest adding a single tag value." << endl;
326        //for (int i=0;i<myView.getShape()[0];++i) {
327        //  myView(i)=i;
328        //}
329        //values.push_back(myView);
330        //keys.push_back(1);
331        //myData.addTaggedValues(keys,values);
332        //assert(myData.getDataPointByTag(1)==myView);
333        //cout << "\tTest addition of further tags." << endl;
334        //keys.resize(0);
335        //keys.push_back(3);
336        //for (int i=0;i<myView.getShape()[0];++i) {
337        //  myView(i)=i+1.5;
338        //}
339        //myData.addTaggedValues(keys,values);
340        //assert(myData.getDataPointByTag(3)==myView);
341        //assert(myData.getDataPointByTag(1)!=myView);
342        //cout << "\tTrigger the size mismatch exception." << endl;
343        //try {
344        //  values.push_back(myView);
345        //  myData.addTaggedValues(keys,values);
346        //  assert(false);
347        //}
348        //catch (EsysException& e) {
349        // assert(true);
350        //}
351    
352    }    }
353    
354    {    {
355      cout << "\tTest creation of tagged data with multiple tags." << endl;  
356      DataArrayView::ValueType viewData;      cout << "\tTest DataTagged with one tag." << endl;
357      DataArrayView::ShapeType viewShape;  
358      viewShape.push_back(3);      // the one data-point has tag value "1"
359    
360      DataTagged::TagListType keys;      DataTagged::TagListType keys;
361        keys.push_back(1);
362    
363      DataTagged::ValueListType values;      DataTagged::ValueListType values;
364      for (int i=0;i<viewShape[0];++i) {  
365        viewData.push_back(0.0);      DataArrayView::ShapeType viewShape;
366        viewShape.push_back(3);
367    
368        // default value
369        DataArrayView::ValueType viewData(3);
370        for (int i=0;i<viewShape[0];i++) {
371          viewData[i]=i;
372      }      }
373      DataArrayView myView(viewData,viewShape);      DataArrayView myView(viewData,viewShape);
374    
375        // value for tag "1"
376      DataArray eOne(myView);      DataArray eOne(myView);
377      DataArray eTwo(myView);      for (int i=0;i<eOne.getView().getShape()[0];i++) {
     DataArray eThree(myView);  
     for (int i=0;i<eOne.getView().getShape()[0];++i) {  
378        eOne.getView()(i)=i+1.0;        eOne.getView()(i)=i+1.0;
379      }      }
     for (int i=0;i<eTwo.getView().getShape()[0];++i) {  
       eTwo.getView()(i)=i+2.0;  
     }  
     for (int i=0;i<eThree.getView().getShape()[0];++i) {  
       eThree.getView()(i)=i+3.0;  
     }  
380      values.push_back(eOne.getView());      values.push_back(eOne.getView());
381      values.push_back(eTwo.getView());  
     values.push_back(eThree.getView());  
     keys.push_back(1);  
     keys.push_back(2);  
     keys.push_back(3);  
382      DataTagged myData(keys,values,myView,FunctionSpace());      DataTagged myData(keys,values,myView,FunctionSpace());
383      assert(myData.getDataPointByTag(1)==eOne.getView());  
384      assert(myData.getDataPointByTag(2)==eTwo.getView());      //cout << myData.toString() << endl;
385      assert(myData.getDataPointByTag(3)==eThree.getView());  
386      cout << "\tTest isCurrentTag function." << endl;      assert(myData.getNumSamples()==1);
387      for (int i=0;i<keys.size();++i) {      assert(myData.getNumDPPSample()==1);
388        assert(myData.isCurrentTag(keys[i]));  
389      }      assert(myData.validSamplePointNo(0));
390      cout << "\tCheck correct operation for key that doesn't exist." << endl;      assert(myData.validSampleNo(0));
391      assert(!myData.isCurrentTag(123));      assert(!myData.validSamplePointNo(1));
392      cout << "\tTrigger bad shape in input values exception." << endl;      assert(!myData.validSampleNo(1));
393      viewShape.clear();  
394      viewShape.push_back(1);      assert(myData.getTagNumber(0)==1);
395      keys.clear();  
396      values.clear();      assert(!myData.isCurrentTag(0));
397      viewData.clear();      assert(myData.isCurrentTag(1));
398      for (int i=0;i<viewShape[0];++i) {  
399        viewData.push_back(0.0);      assert(myData.getTagLookup().size()==1);
400      }  
401      DataArrayView myView2(viewData,viewShape);      assert(myData.getLength()==6);
402      try {  
403        myData.addTaggedValue(5,myView2);      assert(myData.getPointOffset(0,0)==3);
404        assert(false);  
405      }      DataArrayView myDataView = myData.getDataPoint(0,0);
406      catch (EsysException& e) {      assert(myDataView==eOne.getView());
407        //cout << e.what() << endl;      assert(!myDataView.isEmpty());
408        assert(true);      assert(myDataView.getOffset()==3);
409      }      assert(myDataView.getRank()==1);
410      cout << "\tTest setTaggedValues." << endl;      assert(myDataView.noValues()==3);
411      DataTagged myData2;      assert(myDataView.getShape().size()==1);
412      myData2.reshapeDataPoint(myView.getShape());      assert(myDataView(0)==1);
413      keys.clear();      assert(myDataView(1)==2);
414      values.clear();      assert(myDataView(2)==3);
415      keys.push_back(1);  
416      keys.push_back(2);      myDataView = myData.getDataPointByTag(1);
417      keys.push_back(3);      assert(myDataView==eOne.getView());
418      values.push_back(eOne.getView());      assert(!myDataView.isEmpty());
419      values.push_back(eTwo.getView());      assert(myDataView.getOffset()==3);
420      values.push_back(eThree.getView());      assert(myDataView.getRank()==1);
421      myData2.setTaggedValues(keys,values);      assert(myDataView.noValues()==3);
422      assert(myData2.getDataPointByTag(1)==eOne.getView());      assert(myDataView.getShape().size()==1);
423      assert(myData2.getDataPointByTag(2)==eTwo.getView());      assert(myDataView(0)==1);
424      assert(myData2.getDataPointByTag(3)==eThree.getView());      assert(myDataView(1)==2);
425      cout << "\tTest setTaggedValue." << endl;      assert(myDataView(2)==3);
426      DataTagged myData3;  
427      myData3.reshapeDataPoint(myView.getShape());      // Test non-existent tag returns the default value.
428      myData3.setTaggedValue(1,eOne.getView());      myDataView = myData.getDataPointByTag(0);
429      myData3.setTaggedValue(2,eTwo.getView());      assert(myDataView==myView);
430      myData3.setTaggedValue(3,eThree.getView());      assert(!myDataView.isEmpty());
431      assert(myData3.getDataPointByTag(1)==eOne.getView());      assert(myDataView.getOffset()==0);
432      assert(myData3.getDataPointByTag(2)==eTwo.getView());      assert(myDataView.getRank()==1);
433      assert(myData3.getDataPointByTag(3)==eThree.getView());      assert(myDataView.noValues()==3);
434        assert(myDataView.getShape().size()==1);
435        assert(myDataView(0)==0);
436        assert(myDataView(1)==1);
437        assert(myDataView(2)==2);
438    
439        myDataView = myData.getDefaultValue();
440        assert(myDataView==myView);
441        assert(!myDataView.isEmpty());
442        assert(myDataView.getOffset()==0);
443        assert(myDataView.getRank()==1);
444        assert(myDataView.noValues()==3);
445        assert(myDataView.getShape().size()==1);
446        assert(myDataView(0)==0);
447        assert(myDataView(1)==1);
448        assert(myDataView(2)==2);
449    
450    }    }
451    
452  }    {
453    
454  void DataTaggedTestCase::testSubtraction() {      cout << "\tTest DataTagged with multiple tags." << endl;
455    
456    // An error with FinleyMesh::getTagList used to cause binary operations      // the one data-point has tag value "1"
   // between DataExpanded and DataTagged objects to seg-fault. This test  
   // case will provoke this error if it arises again.  
457    
458    // This test requires the version of setTaggedData which takes a Data      DataTagged::TagListType keys;
459    // object as an argument. This version is not currently available, so      keys.push_back(1);
460    // this test is disabled for now      keys.push_back(2);
461        keys.push_back(3);
462    
463    /*      DataTagged::ValueListType values;
464    
465    cout << endl;      DataArrayView::ShapeType viewShape;
466        viewShape.push_back(3);
467    
468    cout << "\tCreate domain and function-space." << endl;      // default value
469    AbstractContinuousDomain* myDomain = rectangle(10,10);      DataArrayView::ValueType viewData(3);
470    FunctionSpace f = functionOnBoundary(*myDomain);      for (int i=0;i<viewShape[0];i++) {
471          viewData[i]=i;
472    cout << "\tCreate two vectors, one being DataExpanded." << endl;      }
473    Data A = Vector(0,f);      DataArrayView myView(viewData,viewShape);
474    Data B = Vector(0,f,true);  
475        // value for tag "1"
476    cout << "\tCreate some tags and values to add to the other." << endl;      DataArray eOne(myView);
477    DataArrayView::ValueType viewData;      for (int i=0;i<eOne.getView().getShape()[0];i++) {
478    DataArrayView::ShapeType viewShape;        eOne.getView()(i)=i+1.0;
479    viewShape.push_back(2);      }
480    for (int i=0;i<viewShape[0];++i) {      values.push_back(eOne.getView());
     viewData.push_back(0.0);  
   }  
   DataArrayView myView(viewData,viewShape);  
   DataArray eOne(myView);  
   for (int i=0;i<eOne.getView().getShape()[0];++i) {  
     eOne.getView()(i)=i+1.0;  
   }  
481    
482    A.setTaggedValue(2,eOne.getView());      // value for tag "2"
483        DataArray eTwo(myView);
484        for (int i=0;i<eTwo.getView().getShape()[0];i++) {
485          eTwo.getView()(i)=i+2.0;
486        }
487        values.push_back(eTwo.getView());
488    
489        // value for tag "3"
490        DataArray eThree(myView);
491        for (int i=0;i<eThree.getView().getShape()[0];i++) {
492          eThree.getView()(i)=i+3.0;
493        }
494        values.push_back(eThree.getView());
495    
496    //cout << A.toString() << endl;      DataTagged myData(keys,values,myView,FunctionSpace());
497    
498    cout << "\tCalculate difference." << endl;      //cout << myData.toString() << endl;
   Data difference = B - A;  
499    
500    cout << "\tCalculate other binaryOps just to be sure." << endl;      assert(myData.getNumSamples()==1);
501    Data sum = B + A;      assert(myData.getNumDPPSample()==1);
   Data product = B * A;  
   Data dividend = B / A;  
502    
503    // If we get here, subtraction operation did not seg-fault.      assert(myData.validSamplePointNo(0));
504    assert(true);      assert(myData.validSampleNo(0));
505        assert(!myData.validSamplePointNo(1));
506        assert(!myData.validSampleNo(1));
507    
508        assert(myData.getTagNumber(0)==1);
509    
510        assert(!myData.isCurrentTag(0));
511        assert(myData.isCurrentTag(1));
512        assert(myData.isCurrentTag(2));
513        assert(myData.isCurrentTag(3));
514    
515        assert(myData.getTagLookup().size()==3);
516    
517        assert(myData.getLength()==12);
518    
519        assert(myData.getPointOffset(0,0)==3);
520    
521        DataArrayView myDataView = myData.getDataPoint(0,0);
522        assert(myDataView==eOne.getView());
523        assert(!myDataView.isEmpty());
524        assert(myDataView.getOffset()==3);
525        assert(myDataView.getRank()==1);
526        assert(myDataView.noValues()==3);
527        assert(myDataView.getShape().size()==1);
528        assert(myDataView(0)==1);
529        assert(myDataView(1)==2);
530        assert(myDataView(2)==3);
531    
532        myDataView = myData.getDataPointByTag(1);
533        assert(myDataView==eOne.getView());
534        assert(!myDataView.isEmpty());
535        assert(myDataView.getOffset()==3);
536        assert(myDataView.getRank()==1);
537        assert(myDataView.noValues()==3);
538        assert(myDataView.getShape().size()==1);
539        assert(myDataView(0)==1);
540        assert(myDataView(1)==2);
541        assert(myDataView(2)==3);
542    
543        // Test non-existent tag returns the default value.
544        myDataView = myData.getDataPointByTag(0);
545        assert(myDataView==myView);
546        assert(!myDataView.isEmpty());
547        assert(myDataView.getOffset()==0);
548        assert(myDataView.getRank()==1);
549        assert(myDataView.noValues()==3);
550        assert(myDataView.getShape().size()==1);
551        assert(myDataView(0)==0);
552        assert(myDataView(1)==1);
553        assert(myDataView(2)==2);
554    
555        myDataView = myData.getDefaultValue();
556        assert(myDataView==myView);
557        assert(!myDataView.isEmpty());
558        assert(myDataView.getOffset()==0);
559        assert(myDataView.getRank()==1);
560        assert(myDataView.noValues()==3);
561        assert(myDataView.getShape().size()==1);
562        assert(myDataView(0)==0);
563        assert(myDataView(1)==1);
564        assert(myDataView(2)==2);
565    
566        // Test data-points held for remaining tags
567        myDataView = myData.getDataPointByTag(2);
568        assert(myDataView==eTwo.getView());
569        assert(!myDataView.isEmpty());
570        assert(myDataView.getOffset()==6);
571        assert(myDataView.getRank()==1);
572        assert(myDataView.noValues()==3);
573        assert(myDataView.getShape().size()==1);
574        assert(myDataView(0)==2);
575        assert(myDataView(1)==3);
576        assert(myDataView(2)==4);
577    
578        myDataView = myData.getDataPointByTag(3);
579        assert(myDataView==eThree.getView());
580        assert(!myDataView.isEmpty());
581        assert(myDataView.getOffset()==9);
582        assert(myDataView.getRank()==1);
583        assert(myDataView.noValues()==3);
584        assert(myDataView.getShape().size()==1);
585        assert(myDataView(0)==3);
586        assert(myDataView(1)==4);
587        assert(myDataView(2)==5);
588    
589        //cout << "\tTrigger bad shape in input values exception." << endl;
590        //viewShape.clear();
591        //viewShape.push_back(1);
592        //keys.clear();
593        //values.clear();
594        //viewData.resize(1,0.0);
595        //DataArrayView myView2(viewData,viewShape);
596        //try {
597        //  myData.addTaggedValue(5,myView2);
598        //  assert(false);
599        //}
600        //catch (EsysException& e) {
601        //  assert(true);
602        //}
603        //cout << "\tTest addTaggedValues." << endl;
604        //DataTagged myData2;
605        //myData2.reshapeDataPoint(myView.getShape());
606        //keys.clear();
607        //values.clear();
608        //keys.push_back(1);
609        //keys.push_back(2);
610        //keys.push_back(3);
611        //values.push_back(eOne.getView());
612        //values.push_back(eTwo.getView());
613        //values.push_back(eThree.getView());
614        //myData2.addTaggedValues(keys,values);
615        //assert(myData2.getDataPointByTag(1)==eOne.getView());
616        //assert(myData2.getDataPointByTag(2)==eTwo.getView());
617        //assert(myData2.getDataPointByTag(3)==eThree.getView());
618        //cout << "\tTest setTaggedValue." << endl;
619        //DataTagged myData3;
620        //myData3.reshapeDataPoint(myView.getShape());
621        //myData3.addTaggedValue(1,eThree.getView());
622        //myData3.addTaggedValue(2,eOne.getView());
623        //myData3.addTaggedValue(3,eTwo.getView());
624        //myData3.setTaggedValue(1,eOne.getView());
625        //myData3.setTaggedValue(2,eTwo.getView());
626        //myData3.setTaggedValue(3,eThree.getView());
627        //assert(myData3.getDataPointByTag(1)==eOne.getView());
628        //assert(myData3.getDataPointByTag(2)==eTwo.getView());
629        //assert(myData3.getDataPointByTag(3)==eThree.getView());
630    
631    */    }
632    
633  }  }
634    
# Line 392  TestSuite* DataTaggedTestCase::suite () Line 638  TestSuite* DataTaggedTestCase::suite ()
638    // create the suite of tests to perform.    // create the suite of tests to perform.
639    TestSuite *testSuite = new TestSuite ("DataTaggedTestCase");    TestSuite *testSuite = new TestSuite ("DataTaggedTestCase");
640    testSuite->addTest (new TestCaller< DataTaggedTestCase>("testAll",&DataTaggedTestCase::testAll));    testSuite->addTest (new TestCaller< DataTaggedTestCase>("testAll",&DataTaggedTestCase::testAll));
641    testSuite->addTest (new TestCaller< DataTaggedTestCase>("testOperations",&DataTaggedTestCase::testOperations));  //  testSuite->addTest (new TestCaller< DataTaggedTestCase>("testOperations",&DataTaggedTestCase::testOperations));
642    testSuite->addTest (new TestCaller< DataTaggedTestCase>("testReshape",&DataTaggedTestCase::testReshape));  //  testSuite->addTest (new TestCaller< DataTaggedTestCase>("testReshape",&DataTaggedTestCase::testReshape));
   //testSuite->addTest (new TestCaller< DataTaggedTestCase>("testSubtraction",&DataTaggedTestCase::testSubtraction));  
643    return testSuite;    return testSuite;
644  }  }

Legend:
Removed from v.95  
changed lines
  Added in v.499

  ViewVC Help
Powered by ViewVC 1.1.26