Changeset 2832 in Sophya


Ignore:
Timestamp:
Nov 8, 2005, 5:18:06 PM (20 years ago)
Author:
ansari
Message:

Programmes test TimeStamp completes (format YYYY-MM-DDThh:mm:ss) et programme test DataTable (champ DateTime et I/O ascii - Reza 8 Nov 2005

Location:
trunk/SophyaProg/Tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaProg/Tests/tnt.cc

    r2828 r2832  
    33#include <math.h>
    44#include <iostream>
     5#include <fstream>
    56
    67#include "sopnamsp.h"
     
    3132    exit(0);
    3233  }
    33 
     34  int rc = 0;
    3435  try {
    3536    if (*arg[1] == 'd')  test_dvl();
     
    4243  catch(PThrowable exc ) {
    4344    cerr << "tnt-main() , Catched exception: \n" << exc.Msg() << endl;
     45    rc = 97;
    4446  }
    4547  catch(std::exception ex) {
    4648    cerr << "tnt-main() , Catched exception ! " << (string)(ex.what()) << endl;
     49    rc = 98;
    4750  }
    4851  catch(...) {
    4952    cerr << "tnt-main() , Catched ... ! " << endl;
    50   }
     53    rc = 99;
     54  }
     55  return rc;
    5156}
    5257
     
    119124     << " ->double= " << (double)tv << " ->TimeStamp:"
    120125     << TimeStamp((double)tv).ToString() << endl;
    121 
     126tv = "1995-09-23T15:20:32";
     127string tts = (string)tv;
     128cout << "MuTyV=TimeStamp tv=" << tv << " ->TimeStamp(tv)="
     129     << TimeStamp(tts) << endl;
    122130
    123131cout << "\n\n ======= test_dvl:  Testing DVList ======= " << endl;
     
    192200  dt.AddComplexColumn("cmplx_cos_sin");
    193201  dt.AddDoubleComplexColumn("dcmplx_cos_sin");
     202  dt.AddDateTimeColumn("datime");
    194203  MuTyV rec[10];
     204  TimeStamp ts("01/3/2005","0:0:0");
     205  TimeStamp ts2(0.);
     206 
    195207  cout << " 1/ First 1000 lines .... " << endl;
    196208  for(int k = 0; k<1000; k++) {
     
    210222    rec[7] = complex<r_4>(cx, sx);
    211223    rec[8] = complex<r_8>(cx, sx);
     224    ts2.Set(ts.ToDays()+(double)k/24.);
     225    rec[9] = ts2;
    212226    dt.AddLine(rec);
    213227  }
     
    234248    rec[7] = complex<r_4>(cx, sx);
    235249    rec[8] = complex<r_8>(cx, sx);
     250    ts2.Set(ts.ToDays()+(double)k/24.);
     251    rec[9] = ts2;
    236252    dt.AddLine(rec);
    237253  }
     
    241257  dtc1.Show(); 
    242258  cout << "2.d/  dt.LineHeaderToString() dt.LineToString(k)   : " << endl;
    243   cout << dt.LineHeaderToString() ;
     259  cout << dt.LineHeaderToString() << endl;
    244260  for(int k = 0; k<1500; k+=75)
    245261    cout << "Line[" << k << "] " << dt.LineToString(k) << endl ;
     
    257273    cout << dtr;
    258274    cout << "4.c/  dtr.LineHeaderToString() dtr.LineToString(k)   : " << endl;
    259     cout << dtr.LineHeaderToString() ;
     275    cout << dtr.LineHeaderToString() << endl;
    260276    for(int k = 0; k<1500; k+=75)
     277      cout << "Line[" << k << "] " << dtr.LineToString(k) << endl ;
     278   
     279  }
     280  {
     281    cout << "5/ Reading DataTable dtr from text file dtable.txt " << endl;
     282    {
     283      cout << "5.a Writing lines to file dtable.txt " << endl;
     284      ofstream os("dtable.txt");
     285      dt.Print(os,0,450);
     286    }
     287    cout << "5.b CopyStructure + FillFromASCIIFile from dtable.txt " << endl;
     288    ifstream is("dtable.txt");
     289    DataTable dtr;
     290    dtr.CopyStructure(dt);
     291    dtr.FillFromASCIIFile(is);
     292    cout << dtr;
     293    cout << "5.c/  dtr.LineHeaderToString() dtr.LineToString(k)   : " << endl;
     294    cout << dtr.LineHeaderToString() << endl;
     295    for(int k = 0; k<10; k++)
     296      cout << "Line[" << k << "] " << dtr.LineToString(k) << endl ;
     297    for(int k = 50; k<300; k+=25)
    261298      cout << "Line[" << k << "] " << dtr.LineToString(k) << endl ;
    262299   
     
    273310    SwPPFDataTable dt(po, 64);
    274311    dt.AddIntegerColumn("line");
     312    dt.AddStringColumn("sline");
    275313    dt.AddDoubleColumn("x");
    276314    dt.AddFloatColumn("f_sin");
     
    280318    dt.AddComplexColumn("cmplx_cos_sin");
    281319    dt.AddDoubleComplexColumn("dcmplx_cos_sin");
     320    dt.AddDateTimeColumn("datime");
    282321    MuTyV rec[10];
     322    TimeStamp ts("01/3/2005","0:0:0");
     323    TimeStamp ts2(0.);
    283324    cout << " 1/ First 1000 lines .... " << endl;
    284325    for(int k = 0; k<1000; k++) {
    285326      rec[0] = k;
     327      string sline = "L-";
     328      sline += (string)rec[0];
     329      rec[1] = sline;
    286330      double x = M_PI*k/100.;
    287331      double fx = sin(x)*cos(x);
    288332      double sx = sin(x);
    289333      double cx = cos(x);
    290       rec[1] = x;
    291       rec[2] = sx;
    292       rec[3] = cx;
    293       rec[4] = fx;
    294       rec[5] = x*x;
    295       rec[6] = complex<r_4>(cx, sx);
    296       rec[7] = complex<r_8>(cx, sx);
     334      rec[2] = x;
     335      rec[3] = sx;
     336      rec[4] = cx;
     337      rec[5] = fx;
     338      rec[6] = x*x;
     339      rec[7] = complex<r_4>(cx, sx);
     340      rec[8] = complex<r_8>(cx, sx);
     341      ts2.Set(ts.ToDays()+(double)k/24.);
     342      rec[9] = ts2;
    297343      dt.AddLine(rec);
    298344    }
     
    304350    for(int k = 1000; k<2000; k++) {
    305351      rec[0] = k;
     352      string sline = "L-";
     353      sline += (string)rec[0];
     354      rec[1] = sline;
    306355      double x = M_PI*k/100.;
    307356      double fx = sin(x)*cos(x);
    308       rec[1] = x;
    309       rec[2] = sin(x);
    310       rec[3] = cos(x);
    311       rec[4] = fx;
    312       rec[5] = x*x;
     357      double sx = sin(x);
     358      double cx = cos(x);
     359      rec[2] = x;
     360      rec[3] = sx;
     361      rec[4] = cx;
     362      rec[5] = fx;
     363      rec[6] = x*x;
     364      rec[7] = complex<r_4>(cx, sx);
     365      rec[8] = complex<r_8>(cx, sx);
     366      ts2.Set(ts.ToDays()+(double)k/24.);
     367      rec[9] = ts2;
    313368      dt.AddLine(rec);
    314369    }
     
    328383    cout << dtr;
    329384    cout << "4.c/  dtr.LineHeaderToString() dtr.LineToString(k)   : " << endl;
    330     cout << dtr.LineHeaderToString() ;
     385    cout << dtr.LineHeaderToString() << endl;
    331386    for(int k = 0; k<1500; k+=75)
    332387      cout << "Line[" << k << "] " << dtr.LineToString(k) << endl ;     
  • trunk/SophyaProg/Tests/ttimestamp.cc

    r2828 r2832  
    66#include <iostream>
    77#include <string>
     8#include <vector>
    89
    910#include <typeinfo>
     
    1213#include "histinit.h"
    1314#include "pexceptions.h"
     15#include "ppfwrapstlv.h"
    1416
    1517/*  Programme test de la classe TimeStamp             */
     
    3234    cout << "ts2: 26/8/1974 14:22:35.65 : " << ts2 
    3335         << " double->TimeStamp: " << TimeStamp(ts2.ToDays()) << endl;
    34     TimeStamp ts3("01/01/1905","00:00:00");
    35     cout << "ts3: 01/01/1905 , 00:00:00 : " << ts3 << " (double): "
     36    TimeStamp ts3("08/05/1905","00:00:00");
     37    cout << "ts3: 8/05/1905 , 00:00:00 : " << ts3 << " (double): "
    3638         << (double)ts3 << " double->TimeStamp: " << TimeStamp(ts3.ToDays()) << endl;
    3739    TimeStamp ts4("01/01/1901","03:00:20");
     
    4547    cout << "ts6: 01/12/1899 , 15:30:00 : " << ts6 << " (double): "
    4648         << (double)ts6 << " double->TimeStamp: " << TimeStamp(ts6.ToDays()) << endl;
     49
    4750    cout << " ts.ToString(bool, bool) test : " << endl;
    4851    cout << " ts.ToString()= " << ts.ToString() << endl;
    49     cout << " ts.ToString(fgd=true, fgh=false)= " << ts.ToString(true, false) << endl;
    50     cout << " ts.ToString(fgd=false, fgh=true)= " << ts.ToString(false, true) << endl;
     52    cout << " ts.ToString(FmtDateOnly)= " << ts.ToString(TimeStamp::FmtDateOnly) << endl;
     53    cout << " ts.ToString(FmtTimeOnly)= " << ts.ToString(TimeStamp::FmtTimeOnly) << endl;
     54    cout << " ts.ToString(FmtDateTime)= " << ts.ToString(TimeStamp::FmtDateTime) << endl;
    5155
     56    TimeStamp ts12("1974-08-26T14:22:35.65");
     57    cout << "ts12: 1974-08-26T14:22:35.65 : " << ts12 
     58         << " double->TimeStamp: " << TimeStamp(ts12.ToDays()) << endl;
     59    TimeStamp ts13("1905-05-08T00:00:00");
     60    cout << "ts13: 1905-05-08T00:00:00  " << ts13 << " (double): "
     61         << (double)ts13 << " double->TimeStamp: " << TimeStamp(ts13.ToDays()) << endl;
     62
     63    double diff;
     64    diff = ts12.ToDays()-ts2.ToDays();
     65    if (fabs(diff) > 1.e-6) {
     66      cout << "ttimestamp/Erreur Diff t12-t2 : Rc+=1 " << endl;
     67      rc += 1;
     68    }
     69    diff = ts13.ToDays()-ts3.ToDays();
     70    if (fabs(diff) > 1.e-6) {
     71      cout << "ttimestamp/Erreur Diff t13-t3 : Rc+=2 " << endl;
     72      rc += 2;
     73    }
     74    TimeStamp tsa("1901-1-1T14:0:0");
     75    diff = tsa.ToDays()-38./24.;
     76    if (fabs(diff) > 1.e-6) {
     77      cout << "ttimestamp/Erreur Diff tsa-38/24. : Rc+=4 " << endl;
     78      rc += 4;
     79    }
     80    tsa.Set("1901-02-07T18:00:00");
     81    diff = tsa.ToDays()-38.75;
     82    if (fabs(diff) > 1.e-6) {
     83      cout << "ttimestamp/Erreur Diff tsa-38.75 : Rc+=8 " << endl;
     84      rc += 8;
     85    }
     86    tsa.Set("2004-08-24T18:00:00");
     87    TimeStamp tsb("2004-09-03T21:00:00");
     88    diff = tsb.ToDays()-tsa.ToDays();
     89    if (fabs(diff-10.125) > 1.e-6) {
     90      cout << "ttimestamp/Erreur Diff tsb-tsa : Rc+=16 " << endl;
     91      rc += 16;
     92    }
     93    if (rc == 0)
     94      cout << "ttimestamp/Info CheckDiffs OK (Rc=" << rc << ")" << endl;
     95    else
     96      cout << "ttimestamp/Erreur Pb Diffs  (Rc=" << rc << ")" << endl;
     97
     98    cout << "ttimestamp/Info: Test PPF , vector<TimeStamp> " << endl;
     99    vector<TimeStamp> vts, vtsr;
     100    vts.push_back(ts);
     101    vts.push_back(ts2);
     102    vts.push_back(ts3);
     103    {
     104      POutPersist so("tts.ppf");
     105      so << vts;
     106    }
     107    cout << "ttimestamp/Info: Reading from tts.ppf " << endl;
     108    PInPersist si("tts.ppf");
     109   
     110    si >> vtsr;
     111    for(int kk=0; kk<vtsr.size(); kk++) {
     112      cout << " vtsr[" << kk << "] : " << vtsr[kk] << endl;
     113      diff = vtsr[kk].ToDays()-vts[kk].ToDays();
     114      if (fabs(diff) > 1.e-6) {
     115        cout << "ttimestamp/Erreur Diff   vtsr[kk]-vts[kk] : Rc+=32 " << endl;
     116        rc += 32;
     117      }
     118    }
     119    if (rc >= 32)
     120      cout << "ttimestamp/Info Pb Diffs vector<TimeStamp>/PPF (Rc="
     121           << rc << ")" << endl;
     122    else
     123      cout << "ttimestamp/Erreur  Diffs vector<TimeStamp>/PPF OK" << endl;
    52124  }
    53125  catch (PThrowable & exc) {
Note: See TracChangeset for help on using the changeset viewer.