ProteoWizard
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DemuxDebugRWTest Class Reference

Public Member Functions

void Run ()
 

Protected Member Functions

void ReadWriteTest ()
 
void SetUp ()
 
void TearDown ()
 

Protected Attributes

vector< MatrixPtrspectrumList_
 
MatrixPtr A_
 
MatrixPtr B_
 
MatrixPtr C_
 

Detailed Description

Definition at line 30 of file DemuxDebugReadWriteTest.cpp.

Member Function Documentation

◆ Run()

void DemuxDebugRWTest::Run ( )
inline

Definition at line 34 of file DemuxDebugReadWriteTest.cpp.

35  {
36  SetUp();
37  ReadWriteTest();
38  TearDown();
39  }

Referenced by main().

◆ ReadWriteTest()

void DemuxDebugRWTest::ReadWriteTest ( )
inlineprotected

Definition at line 43 of file DemuxDebugReadWriteTest.cpp.

44  {
45  { // Use scope to ensure deletion of debug writer to close output file
46  DemuxDebugWriter debugWriter("DemuxDebugOutput_TestOut.log");
47  unit_assert(debugWriter.IsOpen());
48 
49  for (size_t i = 0; i < spectrumList_.size(); i += 3)
50  {
51  debugWriter.WriteDeconvBlock(i, spectrumList_.at(i), spectrumList_.at(i + 1), spectrumList_.at(i + 2));
52  }
53  }
54 
55  vector<MatrixPtr> readSpectrumList;
56 
57  DemuxDebugReader debugReader("DemuxDebugOutput_TestOut.log");
58  unit_assert(debugReader.IsOpen());
59  unit_assert_operator_equal(3 * debugReader.NumBlocks(), spectrumList_.size());
60 
61  uint64_t spectrumIndex;
62  for (size_t i = 0; i < debugReader.NumBlocks(); ++i)
63  {
64  auto index = static_cast<uint64_t>(spectrumIndex); // needed for 32-bit compatibility
65  debugReader.ReadDeconvBlock(index, A_, B_, C_);
66  readSpectrumList.push_back(A_);
67  readSpectrumList.push_back(B_);
68  readSpectrumList.push_back(C_);
69  }
70 
71  unit_assert_operator_equal(readSpectrumList.size(), spectrumList_.size());
72 
73  for (size_t i = 0; i < readSpectrumList.size(); ++i)
74  {
75  unit_assert(spectrumList_.at(i)->isApprox(*readSpectrumList.at(i)));
76  }
77  }

References pwiz::analysis::DemuxDebugWriter::IsOpen(), pwiz::analysis::DemuxDebugReader::IsOpen(), pwiz::analysis::DemuxDebugReader::NumBlocks(), pwiz::analysis::DemuxDebugReader::ReadDeconvBlock(), unit_assert, unit_assert_operator_equal, and pwiz::analysis::DemuxDebugWriter::WriteDeconvBlock().

◆ SetUp()

void DemuxDebugRWTest::SetUp ( )
inlineprotected

Definition at line 79 of file DemuxDebugReadWriteTest.cpp.

79  {
80  // Generate a list of spectra
81  A_ = boost::make_shared<MatrixType>(3, 4);
82  B_ = boost::make_shared<MatrixType>(4, 3);
83  C_ = boost::make_shared<MatrixType>(3, 3);
84  *A_ << -14.834628974133, -15.729764770592, 56.292839002858, 30.766363712773,
85  79.595747995303, -8.356622426449, 20.840197237638, 83.801095382748,
86  87.889866880787, 13.75327399942, 86.730656404499, -0.46420627108677;
87 
88  *B_ << 23.588885367543, 49.667231605868, -86.700220187964,
89  51.392601274063, -77.511392742378, 23.389497301117,
90  -78.475202879706, -62.60684915327, -42.39206607192,
91  59.595164405161, 2.1025961854091, 65.787705013259;
92 
93  *C_ = *A_ * *B_;
94 
95  spectrumList_.push_back(A_);
96  spectrumList_.push_back(B_);
97  spectrumList_.push_back(C_);
98 
99  MatrixPtr D = boost::make_shared<MatrixType>(3, 4);
100  MatrixPtr E = boost::make_shared<MatrixType>(4, 3);
101  MatrixPtr F = boost::make_shared<MatrixType>(3, 3);
102 
103  *D = 5 * A_->eval();
104  *E = 3 * B_->eval();
105  *F = *A_ * *B_;
106 
107  spectrumList_.push_back(A_);
108  spectrumList_.push_back(B_);
109  spectrumList_.push_back(C_);
110  }

References D, and F.

◆ TearDown()

void DemuxDebugRWTest::TearDown ( )
inlineprotected

Definition at line 112 of file DemuxDebugReadWriteTest.cpp.

113  {
114  remove("DemuxDebugOutput_TestOut.log");
115  }

Member Data Documentation

◆ spectrumList_

vector<MatrixPtr> DemuxDebugRWTest::spectrumList_
protected

Definition at line 117 of file DemuxDebugReadWriteTest.cpp.

◆ A_

MatrixPtr DemuxDebugRWTest::A_
protected

Definition at line 118 of file DemuxDebugReadWriteTest.cpp.

◆ B_

MatrixPtr DemuxDebugRWTest::B_
protected

Definition at line 119 of file DemuxDebugReadWriteTest.cpp.

◆ C_

MatrixPtr DemuxDebugRWTest::C_
protected

Definition at line 120 of file DemuxDebugReadWriteTest.cpp.


The documentation for this class was generated from the following file:
DemuxDebugRWTest::ReadWriteTest
void ReadWriteTest()
Definition: DemuxDebugReadWriteTest.cpp:43
D
#define D
Definition: FilesystemTest.cpp:51
DemuxTypes::MatrixPtr
boost::shared_ptr< MatrixType > MatrixPtr
Definition: DemuxTypes.hpp:39
DemuxDebugRWTest::B_
MatrixPtr B_
Definition: DemuxDebugReadWriteTest.cpp:119
DemuxDebugRWTest::TearDown
void TearDown()
Definition: DemuxDebugReadWriteTest.cpp:112
unit_assert_operator_equal
#define unit_assert_operator_equal(expected, actual)
Definition: unit.hpp:92
pwiz::analysis::DemuxDebugReader
A class for reading demux matrices from file.
Definition: DemuxDebugReader.hpp:38
DemuxDebugRWTest::A_
MatrixPtr A_
Definition: DemuxDebugReadWriteTest.cpp:118
DemuxDebugRWTest::C_
MatrixPtr C_
Definition: DemuxDebugReadWriteTest.cpp:120
F
F
Definition: Chemistry.hpp:81
DemuxDebugRWTest::spectrumList_
vector< MatrixPtr > spectrumList_
Definition: DemuxDebugReadWriteTest.cpp:117
DemuxDebugRWTest::SetUp
void SetUp()
Definition: DemuxDebugReadWriteTest.cpp:79
pwiz::analysis::DemuxDebugWriter
A class for writing demux matrices to file.
Definition: DemuxDebugWriter.hpp:38
unit_assert
#define unit_assert(x)
Definition: unit.hpp:85