testSenecaFileParser.cc
Go to the documentation of this file.
1 #include <io/SenecaFileParser.h>
2 #include <utl/AugerException.h>
3 
4 #include <cppunit/extensions/HelperMacros.h>
5 
6 #include <iostream>
7 
8 #include <tst/Verify.h>
9 
10 using namespace io;
11 using namespace utl;
12 using namespace tst;
13 
14 
15 class testSenecaFileParser : public CppUnit::TestFixture {
16 
17  CPPUNIT_TEST_SUITE(testSenecaFileParser);
18  CPPUNIT_TEST(testConstructor);
19  CPPUNIT_TEST_EXCEPTION(testConstructorThrow, utl::IOFailureException);
20  CPPUNIT_TEST(testOpen);
21  CPPUNIT_TEST_EXCEPTION(testOpenThrowNonExistent, utl::IOFailureException);
22  CPPUNIT_TEST_EXCEPTION(testOpenThrowReOpen, utl::IOFailureException);
23  CPPUNIT_TEST(testClose);
24  CPPUNIT_TEST(testOpenCloseOpen);
25  CPPUNIT_TEST(testReadFileHeader);
26  CPPUNIT_TEST(testReadEventHeader);
27 // CPPUNIT_TEST(testProcessFile);
28  CPPUNIT_TEST(testRandomAccess);
29  CPPUNIT_TEST(testFileStatus);
30  // CPPUNIT_TEST_EXCEPTION(testIDThrow, io::CorsikaIOException);
31  // CPPUNIT_TEST(testSizeBlock);
32  CPPUNIT_TEST_SUITE_END();
33 
34 public:
35  // shared data for tests
36 
38 
39  void setUp()
40  {
41  f = new SenecaFileParser();
42  }
43 
44  void tearDown()
45  {
46  delete f;
47  }
48 
49 
51  {
53  SenecaFileParser f2(TESTFILE,io::eRead);
54  }
55 
57  {
58  tst::Expected();
59  SenecaFileParser f1("NoSuchSenecaFile.ptcl",io::eRead);
60  }
61 
62  void testOpen()
63  {
64  CPPUNIT_ASSERT(f->FileStatus()==io::eFail);
65  f->OpenSenecaFile(TESTFILE,io::eRead);
66  CPPUNIT_ASSERT(f->FileStatus()==io::eSuccess);
67  }
68 
70  {
71  tst::Expected();
72  f->OpenSenecaFile("NoSuchSenecaFile.ptcl",io::eRead);
73  }
74 
76  {
77  f->OpenSenecaFile(TESTFILE,io::eRead);
78  tst::Expected();
79  f->OpenSenecaFile(TESTFILE,io::eRead);
80  }
81 
82  void testClose()
83  {
84  f->CloseSenecaFile(); // No-op on closed file
85  f->OpenSenecaFile(TESTFILE,io::eRead);
86  f->CloseSenecaFile();
87  }
88 
90  {
91  f->OpenSenecaFile(TESTFILE,io::eRead);
92  f->CloseSenecaFile();
93  f->OpenSenecaFile(TESTFILE,io::eRead);
94  }
95 
97  {
98  f->OpenSenecaFile(TESTFILE,io::eRead);
99  CPPUNIT_ASSERT(f->FileHeaderValid);
100 
101  }
102 
104  {
105  f->OpenSenecaFile(TESTFILE,io::eRead);
106  f->GetNextEvent();
107  CPPUNIT_ASSERT(f->EventHeaderValid);
108  }
109 
111  {
112  f->OpenSenecaFile(TESTFILE,io::eRead);
113  CPPUNIT_ASSERT(f->ProcessFile()==eSuccess);
114  CPPUNIT_ASSERT(f->GetPosition()==24);
115  CPPUNIT_ASSERT(f->GetNumberEvents()>0);
116  }
117 
119  {
120  f->OpenSenecaFile(TESTFILE,io::eRead);
121  for (unsigned int i=1; i<=f->GetNumberEvents(); i++)
122  {
123  CPPUNIT_ASSERT(f->GotoEvent(i)==eSuccess);
124  }
125  }
126 
128  {
129  CPPUNIT_ASSERT(f->FileStatus()==eFail);
130  f->OpenSenecaFile(TESTFILE,io::eRead);
131  CPPUNIT_ASSERT(f->FileStatus()==eSuccess);
132  }
133 };
134 
136 
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
Base class to report exceptions in IO.
void Expected()
Print `Expected&#39; for expected failures.
Definition: Verify.h:85

, generated on Tue Sep 26 2023.