ProteoWizard
Functions | Variables
TruncatedLorentzianParametersTest.cpp File Reference
#include "TruncatedLorentzianParameters.hpp"
#include "pwiz/utility/misc/unit.hpp"
#include <boost/filesystem/operations.hpp>
#include "pwiz/utility/misc/Std.hpp"
#include <cstring>

Go to the source code of this file.

Functions

void testParameterConversion ()
 
void testIO ()
 
void testEquality ()
 
void testSamples ()
 
int main (int argc, char *argv[])
 

Variables

ostream * os_ = 0
 

Function Documentation

◆ testParameterConversion()

void testParameterConversion ( )

Definition at line 38 of file TruncatedLorentzianParametersTest.cpp.

39{
41 tlp.f0 = 666;
42 tlp.alpha = complex<double>(100);
43 double shift = 666;
44 double scale = 50;
45
46 ublas::vector<double> p = tlp.parameters(-shift, 1/scale);
47 unit_assert(p(TruncatedLorentzian::AlphaR) == 2);
48 unit_assert(p(TruncatedLorentzian::AlphaI) == 0);
49 unit_assert(p(TruncatedLorentzian::Tau) == 1);
50 unit_assert(p(TruncatedLorentzian::F0) == 0);
51
52 ublas::vector<double> p2(4);
53 p2(TruncatedLorentzian::AlphaR) = 3;
54 p2(TruncatedLorentzian::AlphaI) = 0;
55 p2(TruncatedLorentzian::Tau) = 0;
56 p2(TruncatedLorentzian::F0) = 1;
57
58 tlp.parameters(p2, shift, scale);
59 unit_assert(tlp.alpha == 3.*scale);
60 unit_assert(tlp.tau == 0);
61 unit_assert(tlp.f0 == 1+shift);
62}
void scale(InputIterator begin, InputIterator end, std::pair< typename std::iterator_traits< InputIterator >::value_type, typename std::iterator_traits< InputIterator >::value_type > &scaled, bool center=true, bool scale=true)
scale centers and/or scales all values from begin in to end.
Definition scale.hpp:77
struct for holding parameters for a Truncated Lorentzian function
ublas::vector< double > parameters(double shift=0, std::complex< double > scale=1) const
returns parameters in format usable by TruncatedLorentzian class
#define unit_assert(x)
Definition unit.hpp:85

References pwiz::frequency::TruncatedLorentzianParameters::alpha, pwiz::frequency::TruncatedLorentzianParameters::f0, pwiz::frequency::TruncatedLorentzianParameters::parameters(), pwiz::frequency::TruncatedLorentzianParameters::tau, and unit_assert.

Referenced by main().

◆ testIO()

void testIO ( )

Definition at line 65 of file TruncatedLorentzianParametersTest.cpp.

66{
68 tlp.T = 2;
69 tlp.tau = 3;
70 tlp.f0 = 666;
71 tlp.alpha = complex<double>(100);
72
73 const char* filename = "TruncatedLorentzianTest.test.tlp";
74 tlp.write(filename);
75 TruncatedLorentzianParameters tlp2(filename);
76
77 unit_assert(tlp2.T == tlp.T);
78 unit_assert(tlp2.tau == tlp.tau);
79 unit_assert(tlp2.f0 == tlp.f0);
80 unit_assert(tlp2.alpha == tlp.alpha);
81
82 boost::filesystem::remove(filename);
83}
void write(const std::string &filename) const
write out to file

References pwiz::frequency::TruncatedLorentzianParameters::alpha, pwiz::frequency::TruncatedLorentzianParameters::f0, pwiz::frequency::TruncatedLorentzianParameters::T, pwiz::frequency::TruncatedLorentzianParameters::tau, unit_assert, and pwiz::frequency::TruncatedLorentzianParameters::write().

Referenced by main().

◆ testEquality()

void testEquality ( )

Definition at line 86 of file TruncatedLorentzianParametersTest.cpp.

87{
90
91 tlp.f0 = 666;
92 unit_assert(tlp != tlp2);
93 tlp2.f0 = 666;
94 unit_assert(tlp == tlp2);
95}

References pwiz::frequency::TruncatedLorentzianParameters::f0, and unit_assert.

Referenced by main().

◆ testSamples()

void testSamples ( )

Definition at line 98 of file TruncatedLorentzianParametersTest.cpp.

99{
101 tlp.T = 2;
102 tlp.tau = 3;
103 tlp.f0 = 666;
104 tlp.alpha = complex<double>(100);
105
106 double start = 660;
107 double step = .2;
108 int count = 60;
109
110 tlp.writeSamples(cout, start, step, count);
111}
void writeSamples(std::ostream &os) const
write samples to stream

References pwiz::frequency::TruncatedLorentzianParameters::alpha, pwiz::frequency::TruncatedLorentzianParameters::f0, pwiz::frequency::TruncatedLorentzianParameters::T, pwiz::frequency::TruncatedLorentzianParameters::tau, and pwiz::frequency::TruncatedLorentzianParameters::writeSamples().

◆ main()

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

Definition at line 114 of file TruncatedLorentzianParametersTest.cpp.

115{
116 TEST_PROLOG(argc, argv)
117
118 try
119 {
120 if (argc>1 && !strcmp(argv[1],"-v")) os_ = &cout;
121 if (os_) *os_ << "TruncatedLorentzianParametersTest\n";
123 testIO();
124 testEquality();
125 //testSamples();
126 }
127 catch (exception& e)
128 {
129 TEST_FAILED(e.what())
130 }
131 catch (...)
132 {
133 TEST_FAILED("Caught unknown exception.")
134 }
135
137}
#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_EPILOG, TEST_FAILED, TEST_PROLOG, testEquality(), testIO(), and testParameterConversion().

Variable Documentation

◆ os_

ostream* os_ = 0

Definition at line 35 of file TruncatedLorentzianParametersTest.cpp.

Referenced by main().