ProteoWizard
Namespaces | Functions
MassDatabaseTest.cpp File Reference
#include "MassDatabase.hpp"
#include "PeptideDatabase.hpp"
#include "pwiz/utility/misc/unit.hpp"
#include <iostream>

Go to the source code of this file.

Namespaces

namespace  pwiz
 AMTContainer.hpp.
namespace  pwiz::calibration

Functions

void test_integer ()
void test_pdb ()
bool pwiz::calibration::operator== (const MassDatabase::Entry &a, const MassDatabase::Entry &b)
void test_pdb_vs_integer ()
int main ()

Function Documentation

void test_integer ( )

Definition at line 36 of file MassDatabaseTest.cpp.

References pwiz::calibration::MassDatabase::range(), pwiz::calibration::MassDatabase::size(), and unit_assert.

Referenced by main().

{
auto_ptr<MassDatabase> mdb = MassDatabase::createIntegerTestDatabase();
vector<MassDatabase::Entry> entries = mdb->range(0, 3000);
unit_assert((int)entries.size() == mdb->size());
unit_assert(entries[0].mass == 100);
unit_assert(entries[entries.size()-1].mass == 2200);
}
void test_pdb ( )

Definition at line 46 of file MassDatabaseTest.cpp.

References pwiz::proteome::PeptideDatabaseRecord::abundance, pwiz::proteome::PeptideDatabase::append(), pwiz::calibration::MassDatabase::entry(), pwiz::calibration::MassDatabase::Entry::mass, pwiz::proteome::PeptideDatabaseRecord::mass, pwiz::calibration::MassDatabase::range(), pwiz::proteome::AminoAcid::Info::record(), pwiz::calibration::MassDatabase::size(), unit_assert, pwiz::calibration::MassDatabase::Entry::weight, and pwiz::proteome::PeptideDatabase::write().

Referenced by main().

{
const string& filename = "MassDatabaseTest.test_pdb.pdb";
auto_ptr<PeptideDatabase> pdb = PeptideDatabase::create();
const int recordCount = 10;
for (int i=0; i<recordCount; i++)
{
record.abundance = i;
record.mass = i;
pdb->append(record);
}
pdb->write(filename);
auto_ptr<MassDatabase> mdb = MassDatabase::createFromPeptideDatabase(filename);
unit_assert(mdb->size() == recordCount);
for (int i=0; i<recordCount; i++)
{
MassDatabase::Entry entry = mdb->entry(i);
unit_assert(entry.mass == i);
unit_assert(entry.weight == i);
}
vector<MassDatabase::Entry> range = mdb->range(2,6);
unit_assert(range.size() == 5);
for (unsigned int i=0; i<range.size(); i++)
unit_assert(range[i].mass == i+2);
system(("rm " + filename).c_str());
}
void test_pdb_vs_integer ( )

Definition at line 89 of file MassDatabaseTest.cpp.

References pwiz::proteome::PeptideDatabase::append(), pwiz::proteome::PeptideDatabaseRecord::mass, pwiz::calibration::MassDatabase::range(), pwiz::proteome::AminoAcid::Info::record(), pwiz::calibration::MassDatabase::size(), unit_assert, and pwiz::proteome::PeptideDatabase::write().

Referenced by main().

{
auto_ptr<PeptideDatabase> pdb = PeptideDatabase::create();
for (int i=100; i<=2200; i++)
{
record.mass = i;
pdb->append(record);
}
const string& filename = "temp.pdb";
pdb->write(filename);
auto_ptr<MassDatabase> mdb = MassDatabase::createFromPeptideDatabase(filename);
auto_ptr<MassDatabase> mdb2 = MassDatabase::createIntegerTestDatabase();
unit_assert(mdb->size() == mdb2->size());
vector<MassDatabase::Entry> entries1 = mdb->range(150, 250);
vector<MassDatabase::Entry> entries2 = mdb2->range(150, 250);
unit_assert(entries1 == entries2);
system(("rm " + filename).c_str());
}
int main ( )

Definition at line 113 of file MassDatabaseTest.cpp.

References e(), test_integer(), test_pdb(), and test_pdb_vs_integer().

{
try
{
return 0;
}
catch (exception& e)
{
cerr << e.what() << endl;
return 1;
}
}