9 #ifndef _UNIVERSAL_TEST_H_
10 #define _UNIVERSAL_TEST_H_
18 #include <cxxtest/TestSuite.h>
26 BlobType blobType,
unsigned short dimension1 = 0,
27 unsigned short dimension2 = 0,
unsigned short dimension3 = 0 )
28 :
UniversalBlobURI( fullURI, unit, blobType, dimension1, dimension2, dimension3 )
38 TinyCube(
float f000 = 0,
float f001 = 0,
float f010 = 0,
float f011 = 0,
39 float f100 = 0,
float f101 = 0,
float f110 = 0,
float f111 = 0 )
113 double u = .75, v = .65, w = sqrt( 1 - u * u - v * v );
114 Point3D velocityInMPS( u, v, w );
122 bool success =
false;
125 TS_ASSERT( success );
126 TS_ASSERT_DELTA( ( (
double* )bv.
getBytes() )[0], velocityInMPS.
getU(), 0.01 );
127 TS_ASSERT_DELTA( ( (
double* )bv.
getBytes() )[1], velocityInMPS.
getV(), 0.01 );
128 TS_ASSERT_DELTA( ( (
double* )bv.
getBytes() )[2], velocityInMPS.
getW(), 0.01 );
131 Point3D velocityInMPH = velocityInMPS * 2.23694;
134 TS_ASSERT_DELTA( velocityOut.
getU(), velocityInMPH.getU(), 0.01 );
135 TS_ASSERT_DELTA( velocityOut.
getV(), velocityInMPH.getV(), 0.01 );
136 TS_ASSERT_DELTA( velocityOut.
getW(), velocityInMPH.getW(), 0.01 );
148 TinyCube radialsInMPS( 0.000, 0.001, 0.010, 0.011, 0.100, 0.101, 0.110, 0.111 );
156 bool success =
false;
158 TS_ASSERT_EQUALS( bv.
getByteLength(), 2 * 2 * 2 *
sizeof( float ) )
159 TS_ASSERT( success );
160 for(
int i = 0; i < 2; ++i )
162 for(
int j = 0; j < 2; ++j )
164 for(
int k = 0; k < 2; ++k )
166 TS_ASSERT_DELTA( ( (
float* )bv.
getBytes() )[i * 4 + j * 2 + k],
167 radialsInMPS[i][j][k], 0.0001 );
175 for(
int i = 0; i < 2; ++i )
177 for(
int j = 0; j < 2; ++j )
179 for(
int k = 0; k < 2; ++k )
181 TS_ASSERT_DELTA( radialsOut[i][j][k],
182 radialsInMPS[i][j][k] * 2.23694, 0.0001 );
190 #endif // _BLOB_TEST_H
virtual float ** getPtr2d()
Definition: Universal_Test.h:59
int read1DClass(const Unit &unit, I1D< T > &i1d)
Definition: BlobReader.h:70
Contains the AsyncComponent class definition.
virtual bool setAccuracy(const Unit &unit, const float value)
Set accuracy function.
Definition: UniversalDataWriter.cpp:51
size_t getByteLength()
Definition: BlobValue.h:222
void * getBytes()
Definition: BlobValue.h:227
UniversalBlobReader * newUniversalBlobReader(const UniversalBlobURI &universalURI)
Definition: Component.cpp:622
Definition: UniversalURI.h:519
virtual int getO() const
Definition: Universal_Test.h:79
Unit tests for the BlobValue, BlobReader, and BlobWriter classes.
Definition: Universal_Test.h:100
BlobValue readBlob(bool &success)
Definition: BlobReader.h:45
virtual int getM() const
Definition: Universal_Test.h:69
Definition: BlobType.h:33
double getW() const
Definition: Point3D.h:86
float ** operator[](int index)
Definition: Universal_Test.h:84
Contains the Point3D class definition.
static const BaseUnit METER_PER_SECOND
Definition: Units.h:86
virtual float * getPtr1d()
Definition: Universal_Test.h:64
PubUniversalBlobURI(const char *fullURI, const Unit &unit, BlobType blobType, unsigned short dimension1=0, unsigned short dimension2=0, unsigned short dimension3=0)
Exposed Constructor for use by static initializers.
Definition: Universal_Test.h:25
Definition: UniversalDataReader.h:74
Wraps three double precision (8-byte) floating point numbers.
Definition: Point3D.h:28
float *** value_
Definition: Universal_Test.h:87
Contains the DataReader class definition.
static const Unit MILE_PER_HOUR
Definition: Units.h:189
UniversalBlobWriter * newUniversalBlobWriter(const UniversalBlobURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS)
Definition: Component.cpp:629
BlobType
Definition: BlobType.h:13
virtual ~TinyCube()
Definition: Universal_Test.h:52
Wraps a StrValue as an arbitrary collection of binary values, with units.
Definition: BlobValue.h:26
static float *** New3D(int m, int n, int o, bool extra=false)
Definition: I3D.h:33
bool isActive(void)
Definition: DataReader.cpp:74
Definition: UniversalDataWriter.h:55
Definition: BlobType.h:35
double getU() const
Definition: Point3D.h:66
bool write3DClass(const Unit &unit, I3D< T > &i3d, const Timestamp ×tamp=Timestamp::NOT_SET_TIME)
Writes data from the class that implements as I3D a binary blob ElementURI used to declare this DataW...
Definition: BlobWriter.h:183
virtual int getN() const
Definition: Universal_Test.h:74
Definition: Universal_Test.h:20
Contains the DataWriter class definition.
bool write1DClass(const Unit &unit, I1D< T > &i1d, const Timestamp ×tamp=Timestamp::NOT_SET_TIME)
Writes data from the class that implements as I1D a binary blob ElementURI used to declare this DataW...
Definition: BlobWriter.h:77
double getV() const
Definition: Point3D.h:76
void test1DUniversalBlobReadWrite(void)
Test 1D Read & Write.
Definition: Universal_Test.h:105
void test3DUniversalBlobReadWrite(void)
Test 3D Read & Write.
Definition: Universal_Test.h:140
virtual float *** getPtr3d()
Definition: Universal_Test.h:54
int read3DClass(const Unit &unit, I3D< T > &i3d)
Definition: BlobReader.h:167
Definition: Universal_Test.h:34
Dummy implementation of AsyncComponent for testing purposes.
Definition: TestAsyncComponent.h:19
Code that represents an engineering unit.
Definition: Unit.h:24
TinyCube(float f000=0, float f001=0, float f010=0, float f011=0, float f100=0, float f101=0, float f110=0, float f111=0)
Definition: Universal_Test.h:38