source: trunk/test/test_merge.cc @ 91

Last change on this file since 91 was 91, checked in by Jari Häkkinen, 16 years ago

Removed unused include.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1// $Id: test_merge.cc 91 2004-05-29 22:41:26Z jari $
2
3#include <iostream>
4#include <fstream>
5#include <string>
6
7#include "FileIO.h"
8#include "Merge.h"
9
10// class for command line options
11class Parameter {
12public:
13  Parameter(const Parameter&);  // not implemented
14  Parameter(const int argc,const char *argv[]);
15
16  inline const std::string& data(void) const { return data_file_; }
17  inline const std::string& error(void) const { return error_file_; }
18  inline const std::string& annots(void) const { return annots_file_; }
19
20private:
21  void analyse(void);
22  void defaults(void);
23
24  std::string data_file_;
25  std::string error_file_;
26  std::string annots_file_;
27
28};
29
30Parameter::Parameter(const int argc,const char *argv[])
31{
32  using namespace std;
33  // check if help requested
34  for (int i=1; i<argc; i++)
35    if (string(argv[i])==string("-help") || string(argv[i])==string("-h")) {
36      cout << "Please write some help information\n";
37      exit(0);      // always exit after printing help
38    }
39
40  defaults();
41
42  for (int i=1; i<argc; i++) {
43    bool ok=false;
44    string myargv(argv[i]);
45    if (myargv==string("-data"))
46      if ((i+1)<argc) {
47        data_file_=argv[++i];
48        ok=true;
49      }
50    if (myargv==string("-error"))
51      if ((i+1)<argc) {
52        error_file_=argv[++i];
53        ok=true;
54      }
55    if (myargv==string("-annots"))
56      if ((i+1)<argc) {
57        annots_file_=argv[++i];
58        ok=true;
59      }
60
61    if (!ok)
62      std::cerr << "# Parameter::Parameter     Invalid option: "
63                << argv[i] << '\n';
64  }
65
66  analyse();
67}
68
69void Parameter::analyse(void)
70{
71  using namespace theplu::cpptools;
72  bool ok=true;
73  if (FileIO().access_rights(data(),"r")) {
74    std::cerr << "Cannot access data file " << data() << std::endl;
75    ok=false;
76  }
77  if (FileIO().access_rights(error(),"r")) {
78    std::cerr << "Cannot access error file " << error() << std::endl;
79    ok=false;
80  }if (FileIO().access_rights(annots(),"r")) {
81    std::cerr << "Cannot access annotation file " << annots() << std::endl;
82    ok=false;
83  }
84  if (!ok)
85    std::exit(-1);
86}
87
88void Parameter::defaults(void)
89{
90  data_file_="data/merge_matrix.data";
91  error_file_="data/merge_error.data";
92  annots_file_="data/merge_annots.data";
93}
94
95int main(const int argc,const char* argv[])
96{
97  Parameter option(argc,argv);
98  std::ifstream data_stream(option.data().c_str());
99  std::ifstream error_stream(option.error().c_str());
100  std::ifstream annots_stream(option.annots().c_str());
101  theplu::cpptools::Merge merge(data_stream,error_stream,annots_stream,4);
102  std::cout << "data matrix" << std::endl;
103  std::cout << merge.data_matrix() << std::endl;
104  std::cout << "error matrix" << std::endl;
105  std::cout << merge.error_matrix() << std::endl;
106  merge.do_something();
107  std::cout << "new data matrix" << std::endl;
108  std::cout << merge.data_matrix() << std::endl;
109  std::cout << "new error matrix" << std::endl;
110  std::cout << merge.error_matrix() << std::endl;
111  return 0; // normal exit
112}
Note: See TracBrowser for help on using the repository browser.