3 #include "gtest/gtest.h"
9 class SDDSParserTest :
public ::testing::Test {
17 virtual ~SDDSParserTest() {
25 virtual void SetUp() {
31 virtual void TearDown() {
40 TEST_F(SDDSParserTest, ReadEnergy) {
43 std::string s =
"energy";
46 double expected = 2.220252349855340e-01;
47 ASSERT_DOUBLE_EQ(expected, energy);
50 TEST_F(SDDSParserTest, ReadLastPosition) {
52 double position = 0.0;
54 sddsr->getValue(-1, s, position);
56 double expected = 4.247573354842603e-03;
57 ASSERT_DOUBLE_EQ(expected, position);
60 TEST_F(SDDSParserTest, InterpolateRms_x) {
62 double spos = 4.0e-03;
63 double rmsx_interp = 0.0;
66 sddsr->getInterpolatedValue(spos,
"rms_x", rmsx_interp);
69 double spos_before = 3.786226707177705e-03;
70 double spos_after = 4.015012129060398e-03;
71 double rmsx_before = 3.147090549966750e-04;
72 double rmsx_after = 3.166390884805550e-04;
74 double expected = rmsx_before + (spos - spos_before) * (rmsx_after - rmsx_before) / (spos_after - spos_before);
76 ASSERT_DOUBLE_EQ(expected, rmsx_interp);
81 int main(
int argc,
char **argv) {
82 ::testing::InitGoogleTest(&argc, argv);
83 return RUN_ALL_TESTS();
Implements a parser and value extractor for Probe loss files.
int main(int argc, char *argv[])
void getValue(int t, std::string column_name, T &nval)