ProteoWizard
Functions | Variables
Serializer_mzML_Test.cpp File Reference
#include "Serializer_mzML.hpp"
#include "Diff.hpp"
#include "References.hpp"
#include "examples.hpp"
#include "pwiz/utility/misc/unit.hpp"
#include "boost/iostreams/positioning.hpp"
#include "pwiz/utility/misc/Std.hpp"
#include <cstring>

Go to the source code of this file.

Functions

void testWriteRead (const MSData &msd, const Serializer_mzML::Config &config)
 
void testWriteRead ()
 
int main (int argc, char *argv[])
 

Variables

ostream * os_ = 0
 

Function Documentation

void testWriteRead ( const MSData msd,
const Serializer_mzML::Config config 
)

Definition at line 42 of file Serializer_mzML_Test.cpp.

References diff(), os_, pwiz::msdata::Serializer_mzML::read(), pwiz::identdata::References::resolve(), unit_assert, and pwiz::msdata::Serializer_mzML::write().

Referenced by main(), and testWriteRead().

43 {
44  if (os_) *os_ << "testWriteRead() " << config << endl;
45 
46  Serializer_mzML mzmlSerializer(config);
47 
48  ostringstream oss;
49  mzmlSerializer.write(oss, msd);
50 
51  if (os_) *os_ << "oss:\n" << oss.str() << endl;
52 
53  shared_ptr<istringstream> iss(new istringstream(oss.str()));
54  MSData msd2;
55  mzmlSerializer.read(iss, msd2);
56 
57  References::resolve(msd2);
58 
59  Diff<MSData, DiffConfig> diff(msd, msd2);
60  if (os_ && diff) *os_ << diff << endl;
61  unit_assert(!diff);
62 }
MSData <-> mzML stream serialization.
Calculate diffs of objects in a ProteoWizard data model hierarchy.
Definition: diff_std.hpp:142
ostream * os_
void diff(const string &filename1, const string &filename2)
PWIZ_API_DECL void resolve(ContactRole &cr, IdentData &mzid)
This is the root element of ProteoWizard; it represents the mzML element, defined as: intended to cap...
Definition: MSData.hpp:850
#define unit_assert(x)
Definition: unit.hpp:82
void testWriteRead ( )

Definition at line 65 of file Serializer_mzML_Test.cpp.

References pwiz::msdata::Serializer_mzML::Config::binaryDataEncoderConfig, pwiz::msdata::Serializer_mzML::Config::indexed, pwiz::identdata::examples::initializeTiny(), pwiz::msdata::BinaryDataEncoder::Config::precision, testWriteRead(), and unit_assert.

66 {
67  MSData msd;
69 
71  unit_assert(config.binaryDataEncoderConfig.precision == BinaryDataEncoder::Precision_64);
72  testWriteRead(msd, config);
73 
74  config.binaryDataEncoderConfig.precision = BinaryDataEncoder::Precision_32;
75  testWriteRead(msd, config);
76 
77  config.indexed = false;
78  testWriteRead(msd, config);
79 
80  // TODO: test with compression
81 }
void testWriteRead(const MSData &msd, const Serializer_mzML::Config &config)
BinaryDataEncoder::Config binaryDataEncoderConfig
configuration for binary data encoding in write() note: byteOrder is ignored (mzML always little endi...
PWIZ_API_DECL void initializeTiny(IdentData &mzid)
Serializer_mzML configuration.
bool indexed
(indexed==true): read/write with <indexedmzML> wrapper
This is the root element of ProteoWizard; it represents the mzML element, defined as: intended to cap...
Definition: MSData.hpp:850
#define unit_assert(x)
Definition: unit.hpp:82
int main ( int  argc,
char *  argv[] 
)

Definition at line 84 of file Serializer_mzML_Test.cpp.

References os_, TEST_EPILOG, TEST_FAILED, TEST_PROLOG, and testWriteRead().

85 {
86  TEST_PROLOG(argc, argv)
87 
88  try
89  {
90  if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
91  testWriteRead();
92  }
93  catch (exception& e)
94  {
95  TEST_FAILED(e.what())
96  }
97  catch (...)
98  {
99  TEST_FAILED("Caught unknown exception.")
100  }
101 
103 }
ostream * os_
#define TEST_EPILOG
Definition: unit.hpp:166
void testWriteRead(const MSData &msd, const Serializer_mzML::Config &config)
#define TEST_FAILED(x)
Definition: unit.hpp:160
#define TEST_PROLOG(argc, argv)
Definition: unit.hpp:158

Variable Documentation

ostream* os_ = 0

Definition at line 39 of file Serializer_mzML_Test.cpp.

Referenced by main(), and testWriteRead().