25 #ifndef WMWRITECSV_TEST_H
26 #define WMWRITECSV_TEST_H
34 #include <cxxtest/TestSuite.h>
36 #include "../WMWriteCSV.h"
61 std::tuple < WDataSetFibers::SPtr, std::vector< std::tuple < float, float, float, size_t > > >
64 std::vector< std::tuple < float, float, float, size_t > > referenceList = std::get< 1 >( samples );
67 TS_ASSERT_EQUALS( referenceList.size(), testList.size() );
69 size_t referenceListCounter = 0;
70 for(
auto element = testList.begin(); element != testList.end(); element++ )
72 std::tuple < float, float, float, size_t > refTuple = referenceList.at( referenceListCounter++ );
74 osg::Vec3 refVector( std::get< 0 >( refTuple ), std::get< 1 >( refTuple ), std::get< 2 >( refTuple ) );
75 size_t refIndex = std::get< 3 >( refTuple );
77 osg::Vec3 testVector( std::get< 0 >( *element ), std::get< 1 >( *element ), std::get< 2 >( *element ) );
78 size_t testIndex = std::get< 3 >( *element );
80 TS_ASSERT_EQUALS( refVector.x(), testVector.x() );
81 TS_ASSERT_EQUALS( refVector.y(), testVector.y() );
82 TS_ASSERT_EQUALS( refVector.z(), testVector.z() );
83 TS_ASSERT_EQUALS( refIndex, testIndex );
94 std::list< std::tuple < std::string, float , bool > > refList;
96 refList.push_back( std::tuple < std::string, float, bool >(
97 "2212,1,0,4.20922e-09,4.20922e-09,0.0199097,0.0250083,725.314,-1.86984,4.55793,225.244,-1.86984,"
98 "4.55793,0.0125,-0.00614681,0.0255574,0.999654,0,0,0,0,0,0,0,0,0,0,0,1,-0.154322,0.156973,-500,0,"
99 "1,0,277.4,0,[0;1;0;3;-1;-1;-1;-1;-1;-1],Transportation,NULL,NULL",
104 refList.push_back( std::tuple < std::string, float, bool >(
105 "2212,1,0,4.20922e-09,4.20922e-09,0.0199097,0.0250083,725.314,-1.86984,4.55793,225.244,-1.86984,"
106 "4.55793,0.0125,-0.00614681,0.0255574,0.999654,0,0,0,0,0,0,0,0,0,0,0,1,-0.154322,0.156973,-500,0,"
107 "1,0,277.4,0,[0;1;0;3;-1;-1;-1;-1;-1;-1],Transportation,NULL,NULL",
112 refList.push_back( std::tuple < std::string, float, bool >(
113 "2212,1,0,4.96962e-09,4.96962e-09,0.0184161,0.0250029,844.443,-9.20755,2.35148,344.394,-9.20755,"
114 "2.35148,0.0125,-0.0047637,0.0141168,0.999889,1,2,0,0,0,0,0,0,0,0,0,1,-3.1341,0.319804,-500,0,32,"
115 "0,461.8,0,[0;2;2;3;-1;-1;-1;-1;-1;-1],Transportation,NULL,NULL",
120 refList.push_back( std::tuple < std::string, float, bool >(
121 "2212,1,0,4.96962e-09,4.96962e-09,0.0184161,0.0250029,844.443,-9.20755,2.35148,344.394,-9.20755,"
122 "2.35148,0.0125,-0.0047637,0.0141168,0.999889,1,2,0,0,0,0,0,0,0,0,0,1,-3.1341,0.319804,-500,0,32,"
123 "0,461.8,0,[0;2;2;3;-1;-1;-1;-1;-1;-1],Transportation,NULL,NULL",
128 for(
auto element : refList )
130 std::string sourceString = std::get<0 >( element );
131 float num = std::get< 1 >( element );
132 bool result = std::get< 2 >( element );
134 TS_ASSERT_EQUALS( writerCSV.
contains( sourceString, num ), result );
145 std::list< std::tuple < float, float, float, size_t > > listOfInternalVertex;
147 size_t refCounter = 0;
148 for( refCounter = 0; refCounter < 100; refCounter++ )
150 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, refCounter ) );
155 listOfInternalVertex.clear();
157 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 13 ) );
158 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 214 ) );
159 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 44 ) );
160 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 23 ) );
161 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 64 ) );
162 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 223 ) );
163 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 132 ) );
164 listOfInternalVertex.push_back( std::tuple < float, float, float, size_t >( 0.0, 0.0, 0.0, 322 ) );
174 std::tuple < WDataSetFibers::SPtr, std::vector< std::tuple < float, float, float, size_t > > >
createSampleFibers()
176 std::vector< std::tuple < float, float, float, size_t > > referenceList;
184 size_t eventIDCounter = 0;
188 for(
size_t vertexCounter = 0; vertexCounter < 10; vertexCounter++ )
190 vertices->push_back( vertexCounter );
191 vertices->push_back( vertexCounter );
192 vertices->push_back( vertexCounter );
200 eventIDs->push_back( eventIDCounter );
202 std::tuple < float, float, float, size_t > tupleTemp( vertexCounter, vertexCounter, vertexCounter, eventIDCounter );
204 referenceList.push_back( tupleTemp );
208 size_t fiberLength = 0;
209 size_t fiberStartIndex = 0;
210 size_t reversePos = 0;
211 size_t currentEventID = eventIDs->at( 0 );
213 fiberStartIndexes->push_back( fiberStartIndex );
216 for(
size_t eID : *eventIDs )
218 if( currentEventID != eID )
220 fiberStartIndexes->push_back( fiberStartIndex );
221 fiberLengths->push_back( fiberLength );
223 currentEventID = eID;
230 verticesReverse->push_back( reversePos );
232 fiberStartIndexes->push_back( fiberLength );
241 std::tuple < WDataSetFibers::SPtr, std::vector< std::tuple < float, float, float, size_t > > >
242 returnTuple( fibers, referenceList );
Represents a simple set of WFibers.
std::shared_ptr< WDataSetFibers > SPtr
Pointer to dataset.
test class of the writeCSV class
void testgetListOfInternalVertex()
test for converting a fiber to a tuple of vectors and ids
void testContains()
test the checks whether the source domain contains the specified float
std::shared_ptr< std::vector< size_t > > SPSizeVector
A shared_ptr for a size_t vector.
std::shared_ptr< std::vector< float > > SPFloatVector
A shared_ptr for a float vector.
std::tuple< WDataSetFibers::SPtr, std::vector< std::tuple< float, float, float, size_t > > > createSampleFibers()
helpermethod that generates a fiber example
void testCreateStartCounter()
test goes through the existing EvenIDs and returns the next one.
Class for safe the point-connector data.
std::list< std::tuple< float, float, float, size_t > > getListOfInternalVertex(WDataSetFibers::SPtr fibers)
Helpermethod to create a List of internal vertex with id.
size_t createStartCounter(std::list< std::tuple< float, float, float, size_t > > listOfInternalVertex)
Helpermethod goes through the existing EvenIDs and returns the next one.
bool contains(std::string sourceString, float num)
Helpermethod: checks whether the source domain contains the specified float.