ProteoWizard
Functions | Variables
TraDataFileTest.cpp File Reference
#include "TraDataFile.hpp"
#include "Diff.hpp"
#include "IO.hpp"
#include "examples.hpp"
#include "pwiz/utility/misc/unit.hpp"
#include "pwiz/utility/misc/Filesystem.hpp"
#include "pwiz/utility/misc/Std.hpp"
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/iostreams/filter/gzip.hpp>
#include <boost/iostreams/device/file_descriptor.hpp>
#include <boost/iostreams/copy.hpp>

Go to the source code of this file.

Functions

void hackInMemoryTraData (TraData &td)
 
void test ()
 
int main (int argc, char *argv[])
 

Variables

ostream * os_ = 0
 
string filenameBase_ = "temp.TraDataFileTest"
 

Function Documentation

◆ hackInMemoryTraData()

void hackInMemoryTraData ( TraData td)

Definition at line 47 of file TraDataFileTest.cpp.

48{
49 // remove metadata ptrs appended on read
50 //vector<SourceFilePtr>& sfs = msd.fileDescription.sourceFilePtrs;
51 //if (!sfs.empty()) sfs.erase(sfs.end()-1);
52 vector<SoftwarePtr>& sws = td.softwarePtrs;
53 if (!sws.empty()) sws.erase(sws.end()-1);
54}
std::vector< SoftwarePtr > softwarePtrs
List of software packages used in the generation of one of more transitions described in the document...
Definition TraData.hpp:369

References pwiz::tradata::TraData::softwarePtrs.

Referenced by test().

◆ test()

void test ( )

Definition at line 56 of file TraDataFileTest.cpp.

57{
58 TraDataFile::WriteConfig writeConfig;
59
60 if (os_) *os_ << "test()\n " << writeConfig << endl;
61
62 string filename1 = filenameBase_ + ".1";
63 string filename2 = filenameBase_ + ".2";
64
65 {
66 // create TraData object in memory
67 TraData tiny;
69
70 // write to file #1 (static)
71 TraDataFile::write(tiny, filename1, writeConfig);
72
73 // read back into an TraDataFile object
76
77 // compare
79 if (diff && os_) *os_ << diff << endl;
81
82 // write to file #2 (member)
83 td1.write(filename2, writeConfig);
84
85 // read back into another TraDataFile object
86 TraDataFile td2(filename2);
88
89 // compare
90 diff(tiny, td2);
91 if (diff && os_) *os_ << diff << endl;
93
94 // now give the gzip read a workout
95 bio::filtering_istream tinyGZ(bio::gzip_compressor() | bio::file_descriptor_source(filename1));
96 bio::copy(tinyGZ, bio::file_descriptor_sink(filename1+".gz", ios::out|ios::binary));
97
100
101 // compare
102 diff(tiny, td3);
103 if (diff && os_) *os_ << diff << endl;
105 }
106
107 // remove temp files
108 boost::filesystem::remove(filename1);
109 boost::filesystem::remove(filename2);
110 boost::filesystem::remove(filename1 + ".gz");
111}
void diff(const string &filename1, const string &filename2)
string filename1
void hackInMemoryTraData(TraData &td)
ostream * os_
string filenameBase_
PWIZ_API_DECL void initializeTiny(ProteomeData &pd)
Calculate diffs of objects in a ProteoWizard data model hierarchy.
Definition diff_std.hpp:143
TraData object plus file I/O.
static void write(const TraData &msd, const std::string &filename, const WriteConfig &config=WriteConfig())
static write function for any TraData object;
#define unit_assert(x)
Definition unit.hpp:85

References diff(), filename1, filenameBase_, hackInMemoryTraData(), pwiz::proteome::examples::initializeTiny(), os_, unit_assert, and pwiz::tradata::TraDataFile::write().

Referenced by main().

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 114 of file TraDataFileTest.cpp.

115{
116 TEST_PROLOG(argc, argv)
117
118 try
119 {
120 if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
121 test();
122 }
123 catch (exception& e)
124 {
125 TEST_FAILED(e.what())
126 }
127 catch (...)
128 {
129 TEST_FAILED("Caught unknown exception.")
130 }
131
133}
void test()
#define TEST_EPILOG
Definition unit.hpp:183
#define TEST_FAILED(x)
Definition unit.hpp:177
#define TEST_PROLOG(argc, argv)
Definition unit.hpp:175

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

Variable Documentation

◆ os_

ostream* os_ = 0

Definition at line 42 of file TraDataFileTest.cpp.

Referenced by main(), and test().

◆ filenameBase_

string filenameBase_ = "temp.TraDataFileTest"

Definition at line 45 of file TraDataFileTest.cpp.

Referenced by test().