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

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

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

revision 497 by jgs, Tue Feb 7 01:28:01 2006 UTC revision 499 by jgs, Tue Feb 7 04:40:44 2006 UTC
# Line 192  void DataTaggedTestCase::testAll() { Line 192  void DataTaggedTestCase::testAll() {
192      cout << "\tTest default DataTagged." << endl;      cout << "\tTest default DataTagged." << endl;
193      DataTagged myData;      DataTagged myData;
194    
195        //cout << myData.toString() << endl;
196    
197      assert(myData.getNumSamples()==1);      assert(myData.getNumSamples()==1);
198      assert(myData.getNumDPPSample()==1);      assert(myData.getNumDPPSample()==1);
199    
# Line 210  void DataTaggedTestCase::testAll() { Line 212  void DataTaggedTestCase::testAll() {
212    
213      assert(myData.getPointOffset(0,0)==0);      assert(myData.getPointOffset(0,0)==0);
214    
     // cout << myData.toString() << endl;  
   
215      DataArrayView myDataView = myData.getDataPoint(0,0);      DataArrayView myDataView = myData.getDataPoint(0,0);
216      assert(!myDataView.isEmpty());      assert(!myDataView.isEmpty());
217      assert(myDataView.getOffset()==0);      assert(myDataView.getOffset()==0);
# Line 220  void DataTaggedTestCase::testAll() { Line 220  void DataTaggedTestCase::testAll() {
220      assert(myDataView.getShape().size()==0);      assert(myDataView.getShape().size()==0);
221      assert(myDataView()==0.0);      assert(myDataView()==0.0);
222    
223        // Test non-existent tag returns the default value.
224      myDataView = myData.getDataPointByTag(1);      myDataView = myData.getDataPointByTag(1);
225      assert(!myDataView.isEmpty());      assert(!myDataView.isEmpty());
226      assert(myDataView.getOffset()==0);      assert(myDataView.getOffset()==0);
# Line 236  void DataTaggedTestCase::testAll() { Line 237  void DataTaggedTestCase::testAll() {
237      assert(myDataView.getShape().size()==0);      assert(myDataView.getShape().size()==0);
238      assert(myDataView()==0.0);      assert(myDataView()==0.0);
239    
     //assert(myData.getSampleDataByTag(0)[0]==0.0);  
     //assert(myData.getSampleDataByTag(3)[0]==0.0);  
     //assert(myData.getSampleDataByTag(472)[0]==0.0);  
   
240      //cout << "\tTest adding two keys with empty value list." << endl;      //cout << "\tTest adding two keys with empty value list." << endl;
241      //DataTagged::TagListType keys;      //DataTagged::TagListType keys;
242      //DataTagged::ValueListType values;      //DataTagged::ValueListType values;
# Line 249  void DataTaggedTestCase::testAll() { Line 246  void DataTaggedTestCase::testAll() {
246      //for (int i=0;i<keys.size();++i) {      //for (int i=0;i<keys.size();++i) {
247      //  assert(myData.getPointDataView()()==0);      //  assert(myData.getPointDataView()()==0);
248      //}      //}
249    
250    }    }
251    
252    {    {
253  //    cout << "\tCreate tagged data with no tag values just a default." << endl;  
254   //   DataArrayView::ShapeType viewShape;      cout << "\tTest DataTagged with default value only." << endl;
255  //    viewShape.push_back(3);  
256  //    DataArrayView::ValueType viewData(3);      DataArrayView::ShapeType viewShape;
257  //    DataTagged::TagListType keys;      viewShape.push_back(3);
258  //    DataTagged::ValueListType values;  
259  //    for (int i=0;i<viewShape[0];i++) {      DataTagged::TagListType keys;
260  //      viewData[i]=0.0;  
261  //    }      DataTagged::ValueListType values;
262  //    DataArrayView myView(viewData,viewShape);  
263  //    DataTagged myData(keys,values,myView,FunctionSpace());      DataArrayView::ValueType viewData(3);
264  //    assert(myData.getNumDPPSample()==1);      for (int i=0;i<viewShape[0];i++) {
265  //    assert(myData.getNumSamples()==1);        viewData[i]=i;
266  //    // Test non existent tag returns the default value.      }
267  //    assert(myData.getDataPointByTag(1)==myView);      DataArrayView myView(viewData,viewShape);
268    
269        DataTagged myData(keys,values,myView,FunctionSpace());
270    
271        //cout << myData.toString() << endl;
272    
273        assert(myData.getNumSamples()==1);
274        assert(myData.getNumDPPSample()==1);
275    
276        assert(myData.validSamplePointNo(0));
277        assert(myData.validSampleNo(0));
278        assert(!myData.validSamplePointNo(1));
279        assert(!myData.validSampleNo(1));
280    
281        assert(myData.getTagNumber(0)==1);
282    
283        assert(!myData.isCurrentTag(1));
284    
285        assert(myData.getTagLookup().size()==0);
286    
287        assert(myData.getLength()==3);
288    
289        assert(myData.getPointOffset(0,0)==0);
290    
291        DataArrayView myDataView = myData.getDataPoint(0,0);
292        assert(myDataView==myView);
293        assert(!myDataView.isEmpty());
294        assert(myDataView.getOffset()==0);
295        assert(myDataView.getRank()==1);
296        assert(myDataView.noValues()==3);
297        assert(myDataView.getShape().size()==1);
298        assert(myDataView(0)==0);
299        assert(myDataView(1)==1);
300        assert(myDataView(2)==2);
301    
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;      //cout << "\tTest adding a single tag value." << endl;
326      //for (int i=0;i<myView.getShape()[0];++i) {      //for (int i=0;i<myView.getShape()[0];++i) {
# Line 294  void DataTaggedTestCase::testAll() { Line 348  void DataTaggedTestCase::testAll() {
348      //catch (EsysException& e) {      //catch (EsysException& e) {
349      // assert(true);      // assert(true);
350      //}      //}
351    
352    }    }
353    
354    {    {
 //    cout << "\tTest creation of tagged data with multiple tags." << endl;  
 //    DataArrayView::ShapeType viewShape;  
 //    viewShape.push_back(3);  
 //    DataArrayView::ValueType viewData(3);  
  //   DataTagged::TagListType keys;  
  //   DataTagged::ValueListType values;  
 //    for (int i=0;i<viewShape[0];++i) {  
 //      viewData[i]=0.0;  
 //    }  
 //    DataArrayView myView(viewData,viewShape);  
 //    DataArray eOne(myView);  
 //    DataArray eTwo(myView);  
 //    DataArray eThree(myView);  
 //    for (int i=0;i<eOne.getView().getShape()[0];++i) {  
 //      eOne.getView()(i)=i+1.0;  
 //    }  
 //    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;  
 //    }  
 //    values.push_back(eOne.getView());  
 //    values.push_back(eTwo.getView());  
 //    values.push_back(eThree.getView());  
 //    keys.push_back(1);  
 //    keys.push_back(2);  
 //    keys.push_back(3);  
 //    DataTagged myData(keys,values,myView,FunctionSpace());  
 //    assert(myData.getDataPointByTag(1)==eOne.getView());  
 //    assert(myData.getDataPointByTag(2)==eTwo.getView());  
 //    assert(myData.getDataPointByTag(3)==eThree.getView());  
355    
356      //cout << "\tTest isCurrentTag function." << endl;      cout << "\tTest DataTagged with one tag." << endl;
357      //for (int i=0;i<keys.size();++i) {  
358      //  assert(myData.isCurrentTag(keys[i]));      // the one data-point has tag value "1"
359      //}  
360      //cout << "\tCheck correct operation for key that doesn't exist." << endl;      DataTagged::TagListType keys;
361      //assert(!myData.isCurrentTag(123));      keys.push_back(1);
362    
363        DataTagged::ValueListType values;
364    
365        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);
374    
375        // value for tag "1"
376        DataArray eOne(myView);
377        for (int i=0;i<eOne.getView().getShape()[0];i++) {
378          eOne.getView()(i)=i+1.0;
379        }
380        values.push_back(eOne.getView());
381    
382        DataTagged myData(keys,values,myView,FunctionSpace());
383    
384        //cout << myData.toString() << endl;
385    
386        assert(myData.getNumSamples()==1);
387        assert(myData.getNumDPPSample()==1);
388    
389        assert(myData.validSamplePointNo(0));
390        assert(myData.validSampleNo(0));
391        assert(!myData.validSamplePointNo(1));
392        assert(!myData.validSampleNo(1));
393    
394        assert(myData.getTagNumber(0)==1);
395    
396        assert(!myData.isCurrentTag(0));
397        assert(myData.isCurrentTag(1));
398    
399        assert(myData.getTagLookup().size()==1);
400    
401        assert(myData.getLength()==6);
402    
403        assert(myData.getPointOffset(0,0)==3);
404    
405        DataArrayView myDataView = myData.getDataPoint(0,0);
406        assert(myDataView==eOne.getView());
407        assert(!myDataView.isEmpty());
408        assert(myDataView.getOffset()==3);
409        assert(myDataView.getRank()==1);
410        assert(myDataView.noValues()==3);
411        assert(myDataView.getShape().size()==1);
412        assert(myDataView(0)==1);
413        assert(myDataView(1)==2);
414        assert(myDataView(2)==3);
415    
416        myDataView = myData.getDataPointByTag(1);
417        assert(myDataView==eOne.getView());
418        assert(!myDataView.isEmpty());
419        assert(myDataView.getOffset()==3);
420        assert(myDataView.getRank()==1);
421        assert(myDataView.noValues()==3);
422        assert(myDataView.getShape().size()==1);
423        assert(myDataView(0)==1);
424        assert(myDataView(1)==2);
425        assert(myDataView(2)==3);
426    
427        // Test non-existent tag returns the default value.
428        myDataView = myData.getDataPointByTag(0);
429        assert(myDataView==myView);
430        assert(!myDataView.isEmpty());
431        assert(myDataView.getOffset()==0);
432        assert(myDataView.getRank()==1);
433        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        cout << "\tTest DataTagged with multiple tags." << endl;
455    
456        // the one data-point has tag value "1"
457    
458        DataTagged::TagListType keys;
459        keys.push_back(1);
460        keys.push_back(2);
461        keys.push_back(3);
462    
463        DataTagged::ValueListType values;
464    
465        DataArrayView::ShapeType viewShape;
466        viewShape.push_back(3);
467    
468        // default value
469        DataArrayView::ValueType viewData(3);
470        for (int i=0;i<viewShape[0];i++) {
471          viewData[i]=i;
472        }
473        DataArrayView myView(viewData,viewShape);
474    
475        // value for tag "1"
476        DataArray eOne(myView);
477        for (int i=0;i<eOne.getView().getShape()[0];i++) {
478          eOne.getView()(i)=i+1.0;
479        }
480        values.push_back(eOne.getView());
481    
482        // 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        DataTagged myData(keys,values,myView,FunctionSpace());
497    
498        //cout << myData.toString() << endl;
499    
500        assert(myData.getNumSamples()==1);
501        assert(myData.getNumDPPSample()==1);
502    
503        assert(myData.validSamplePointNo(0));
504        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;      //cout << "\tTrigger bad shape in input values exception." << endl;
590      //viewShape.clear();      //viewShape.clear();
591      //viewShape.push_back(1);      //viewShape.push_back(1);
# Line 377  void DataTaggedTestCase::testAll() { Line 627  void DataTaggedTestCase::testAll() {
627      //assert(myData3.getDataPointByTag(1)==eOne.getView());      //assert(myData3.getDataPointByTag(1)==eOne.getView());
628      //assert(myData3.getDataPointByTag(2)==eTwo.getView());      //assert(myData3.getDataPointByTag(2)==eTwo.getView());
629      //assert(myData3.getDataPointByTag(3)==eThree.getView());      //assert(myData3.getDataPointByTag(3)==eThree.getView());
630    
631    }    }
632    
633  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.26