1
#include <cppunit/TestFixture.h>
2
#include <cppunit/extensions/HelperMacros.h>
4
#include "data/sample/V1.h"
5
#include "test-lib-data-samples.h"
7
CPPUNIT_TEST_SUITE_REGISTRATION( SampleTest );
9
bo::data::sample::Base::AP SampleTest::getSample() {
10
return bo::data::sample::Base::AP((*sampleCreator_)());
13
bo::data::sample::Base::AP SampleTest::getSample(const pt::ptime& time) {
14
bo::data::sample::Base::AP sample = getSample();
15
sample->setTime(time);
19
bo::data::Samples::P SampleTest::getSamples1() {
20
gr::date sampleDate(2010,8,1);
22
std::vector<pt::time_duration> sampleTimes;
23
sampleTimes.push_back(pt::time_duration( 0, 0, 0,0));
24
sampleTimes.push_back(pt::time_duration( 0, 0, 0,010));
25
sampleTimes.push_back(pt::time_duration( 0, 0, 0,020));
26
sampleTimes.push_back(pt::time_duration( 0, 0, 0,050));
27
sampleTimes.push_back(pt::time_duration( 0, 0, 0,075));
28
sampleTimes.push_back(pt::time_duration( 0, 0, 0,100));
29
sampleTimes.push_back(pt::time_duration( 0, 0, 0,150));
30
sampleTimes.push_back(pt::time_duration( 0, 0, 0,200));
31
sampleTimes.push_back(pt::time_duration( 0, 0, 0,250));
32
sampleTimes.push_back(pt::time_duration( 0, 0, 0,500));
33
sampleTimes.push_back(pt::time_duration( 0, 0, 0,750));
34
sampleTimes.push_back(pt::time_duration( 0, 0, 1,0));
35
sampleTimes.push_back(pt::time_duration( 0, 0,10,0));
36
sampleTimes.push_back(pt::time_duration( 0, 0,30,0));
37
sampleTimes.push_back(pt::time_duration( 0, 1,30,0));
38
sampleTimes.push_back(pt::time_duration( 0, 5,00,0));
39
sampleTimes.push_back(pt::time_duration(12,35,10,0));
40
sampleTimes.push_back(pt::time_duration(12,40,10,0));
41
sampleTimes.push_back(pt::time_duration(12,45,10,0));
42
sampleTimes.push_back(pt::time_duration(12,50,10,0));
43
sampleTimes.push_back(pt::time_duration(12,51,05,0));
44
sampleTimes.push_back(pt::time_duration(12,51,06,0));
45
sampleTimes.push_back(pt::time_duration(12,51,07,0));
46
sampleTimes.push_back(pt::time_duration(20,00,00,000));
47
sampleTimes.push_back(pt::time_duration(21,00,00,000));
48
sampleTimes.push_back(pt::time_duration(22,00,00,000));
49
sampleTimes.push_back(pt::time_duration(23,00,00,000));
50
sampleTimes.push_back(pt::time_duration(23,50,00,000));
51
sampleTimes.push_back(pt::time_duration(23,55,00,000));
52
sampleTimes.push_back(pt::time_duration(23,59,59,000));
54
bo::data::Samples::P samples(new bo::data::Samples());
56
for (std::vector<pt::time_duration>::iterator sampleTime = sampleTimes.begin(); sampleTime != sampleTimes.end(); sampleTime++) {
57
pt::ptime sampleDateTime(sampleDate, *sampleTime);
58
bo::data::sample::Base::AP sample((*sampleCreator_)());
60
sample->setTime(sampleDateTime);
61
sample->setAmplitude(1, 1.0, 0.0);
69
bo::data::Samples::P SampleTest::getSamples2() {
70
bo::data::Samples::P samples(new bo::data::Samples());
75
void SampleTest::setUp() {
76
sampleCreator_ = boost::shared_ptr<bo::data::sample::Base::Creator>(new bo::data::sample::V1::Creator());
79
void SampleTest::tearDown() {
83
void SampleTest::testAdd() {
85
gr::date sampleDate(2010,8,1);
87
bo::data::Samples samples;
89
samples.add(getSample(pt::ptime(sampleDate, pt::time_duration(11,20,00))));
90
samples.add(getSample(pt::ptime(sampleDate, pt::time_duration(11,21,00))));
91
samples.add(getSample(pt::ptime(sampleDate, pt::time_duration(11,22,00))));
92
samples.add(getSample(pt::ptime(sampleDate, pt::time_duration(11,25,00))));
93
samples.add(getSample(pt::ptime(sampleDate, pt::time_duration(11,30,00))));
96
CPPUNIT_ASSERT_THROW(samples.add(getSample(pt::ptime(sampleDate, pt::time_duration(11,30,00)) + gr::days(1))), bo::exception::Base);
98
std::string fileName = samples.appendToFile("UserName_%Y%m%d.bos");
100
samples.readFromFile(fileName);
102
for(bo::data::Samples::I sample=samples.begin(); sample != samples.end(); sample++) {
103
std::cout << *sample << std::endl;