25 #ifndef WVALUESET_TEST_H
26 #define WVALUESET_TEST_H
31 #include <cxxtest/TestSuite.h>
33 #include "../WValueSet.h"
34 #include "../WDataHandlerEnums.h"
47 double a[2] = { 0.0, 3.1415 };
48 const boost::shared_ptr< std::vector< double > > v =
49 boost::shared_ptr< std::vector< double > >(
50 new std::vector< double >( a, a +
sizeof( a ) /
sizeof(
double ) ) );
59 int a[4] = { 0, -5, 1, 2 };
60 const boost::shared_ptr< std::vector< int8_t > > v =
61 boost::shared_ptr< std::vector< int8_t > >(
62 new std::vector< int8_t >( a, a +
sizeof( a ) /
sizeof(
int ) ) );
64 TS_ASSERT_EQUALS( first.
size(), 4 );
66 TS_ASSERT_EQUALS( second.size(), 2 );
68 TS_ASSERT_EQUALS( third.size(), 1 );
77 int8_t a[4] = { 0, -5, 1, 2 };
78 const boost::shared_ptr< std::vector< int8_t > > v =
79 boost::shared_ptr< std::vector< int8_t > >(
80 new std::vector< int8_t >( a, a +
sizeof( a ) /
sizeof( int8_t ) ) );
82 TS_ASSERT_EQUALS( first.
rawSize(), 4 );
84 TS_ASSERT_EQUALS( first.
rawSize(), 4 );
92 int8_t a[4] = { 0, -5, 1, 2 };
93 const boost::shared_ptr< std::vector< int8_t > > v =
94 boost::shared_ptr< std::vector< int8_t > >(
95 new std::vector< int8_t >( a, a +
sizeof( a ) /
sizeof( int8_t ) ) );
97 TS_ASSERT_EQUALS( set.
getScalar( 0 ), a[0] );
98 TS_ASSERT_EQUALS( set.
getScalar( 1 ), a[1] );
99 TS_ASSERT_EQUALS( set.
getScalar( 2 ), a[2] );
100 TS_ASSERT_EQUALS( set.
getScalar( 3 ), a[3] );
108 double a[2] = { 0.0, 3.1415 };
109 const boost::shared_ptr< std::vector< double > > v =
110 boost::shared_ptr< std::vector< double > >(
111 new std::vector< double >( a, a +
sizeof( a ) /
sizeof(
double ) ) );
113 const double *
const b = valueSet.
rawData();
114 TS_ASSERT_EQUALS( b[0], 0.0 );
115 TS_ASSERT_EQUALS( b[1], 3.1415 );
123 int8_t a[6] = { 1, 2, 3, 4, 5, 6 };
126 const boost::shared_ptr< std::vector< int8_t > > v =
127 boost::shared_ptr< std::vector< int8_t > >(
128 new std::vector< int8_t >( a, a +
sizeof( a ) /
sizeof( int8_t ) ) );
132 for( std::size_t idx = 0; idx < v->size()/dim; idx++ )
135 for( std::size_t i = 0; i < dim; i++ ) currentWValue[ i ] = ( *v )[ idx*dim + i ];
136 TS_ASSERT_EQUALS( set.
getWValue( idx ), currentWValue );
137 TS_ASSERT_EQUALS( set.
getWValue( idx ).size(), dim );
141 TS_ASSERT_THROWS_ANYTHING( set.
getWValue( v->size() ) );
142 TS_ASSERT_THROWS_ANYTHING( set.
getWValue( v->size()*2 ) );
146 TS_ASSERT_THROWS_ANYTHING( set2.
getWValue( 0 ) );
154 int8_t a[4] = { 0, -5, 1, 2 };
155 const boost::shared_ptr< std::vector< int8_t > > v =
156 boost::shared_ptr< std::vector< int8_t > >(
157 new std::vector< int8_t >( a, a +
sizeof( a ) /
sizeof( int8_t ) ) );
159 TS_ASSERT_THROWS_NOTHING( set.
getSubArray( 0, 2 ) );
160 TS_ASSERT_THROWS_NOTHING( set.
getSubArray( 3, 1 ) );
171 int8_t a[ 8 ] = { 0, -5, 1, 2, -27, 6, 29, 8 };
172 const boost::shared_ptr< std::vector< int8_t > > v =
173 boost::shared_ptr< std::vector< int8_t > >(
174 new std::vector< int8_t >( a, a +
sizeof( a ) /
sizeof( int8_t ) ) );
180 TS_ASSERT_THROWS_NOTHING( s[ 0 ] );
181 TS_ASSERT_THROWS_NOTHING( s[ 1 ] );
182 TS_ASSERT_THROWS_NOTHING( s[ 2 ] );
183 TS_ASSERT_THROWS_NOTHING( s[ 100 ] );
185 TS_ASSERT_EQUALS( s[ 0 ], 0 );
186 TS_ASSERT_EQUALS( s[ 1 ], -5 );
187 TS_ASSERT_EQUALS( s[ 2 ], 0 );
188 TS_ASSERT_EQUALS( s[ 100 ], 0 );
193 TS_ASSERT_THROWS_NOTHING( s[ 0 ] );
194 TS_ASSERT_THROWS_NOTHING( s[ 1 ] );
195 TS_ASSERT_THROWS_NOTHING( s[ 2 ] );
196 TS_ASSERT_THROWS_NOTHING( s[ 100 ] );
198 TS_ASSERT_EQUALS( s[ 0 ], -5 );
199 TS_ASSERT_EQUALS( s[ 1 ], 1 );
200 TS_ASSERT_EQUALS( s[ 2 ], 2 );
201 TS_ASSERT_EQUALS( s[ 100 ], -5 );
206 TS_ASSERT_THROWS_NOTHING( s[ 0 ] );
207 TS_ASSERT_THROWS_NOTHING( s[ 1 ] );
208 TS_ASSERT_THROWS_NOTHING( s[ 2 ] );
209 TS_ASSERT_THROWS_NOTHING( s[ 100 ] );
211 TS_ASSERT_EQUALS( s[ 0 ], 6 );
212 TS_ASSERT_EQUALS( s[ 1 ], 29 );
213 TS_ASSERT_EQUALS( s[ 2 ], 8 );
214 TS_ASSERT_EQUALS( s[ 100 ], 6 );
219 #endif // WVALUESET_TEST_H