Skip to content
Snippets Groups Projects
BeamTest.h 2.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • #ifndef BEAMTEST_H
    #define BEAMTEST_H
    
    #include "Beam.h"
    
    #include "Units.h"
    #include "ParameterPool.h"
    #include "gtest/gtest.h"
    
    
    
    class BeamTest : public ::testing::Test
    {
    
    };
    
    TEST_F(BeamTest, BeamInitialState)
    {
    
        EXPECT_DOUBLE_EQ(2.0 * Units::PI, m_empty_beam.getCentralK()[0]);
        EXPECT_EQ(0.0, m_empty_beam.getCentralK()[1]);
        EXPECT_EQ(0.0, m_empty_beam.getCentralK()[2]);
    
        /* TEMPORARILY DISABLED getParameterPool() 
    
        EXPECT_EQ(size_t(4), m_empty_beam.getParameterPool()->size());
        EXPECT_EQ(0.0, m_empty_beam.getParameterPool()->getParameter(BornAgain::Intensity).getValue());
        EXPECT_EQ(1.0, m_empty_beam.getParameterPool()->getParameter(BornAgain::Wavelength).getValue());
        EXPECT_EQ(0.0, m_empty_beam.getParameterPool()->getParameter(BornAgain::Alpha).getValue());
        EXPECT_EQ(0.0, m_empty_beam.getParameterPool()->getParameter(BornAgain::Phi).getValue());
        EXPECT_EQ(complex_t(0.5, 0.0), m_empty_beam.getPolarization()(0, 0));
        EXPECT_EQ(complex_t(0.5, 0.0), m_empty_beam.getPolarization()(1, 1));
    
        std::unique_ptr<Beam> P_beam { new Beam() };
    
        P_beam->setCentralK(1.0, 1.0, 1.0);
        P_beam->setIntensity(2.0);
        P_beam->setPolarization(polarization);
    
        Beam beam_copy = *P_beam;
    
        EXPECT_NEAR(1.83423, beam_copy.getCentralK()[0], 0.00001);
    
        EXPECT_NEAR(-2.85664, beam_copy.getCentralK()[1], 0.00001);
    
        EXPECT_NEAR(-5.28712, beam_copy.getCentralK()[2], 0.00001);
    
        EXPECT_EQ(double(2.0), beam_copy.getIntensity());
    
        /* TEMPORARILY DISABLED getParameterPool() 
    
        EXPECT_EQ(size_t(4), beam_copy.getParameterPool()->size());
        EXPECT_EQ(double(2.0),
                  beam_copy.getParameterPool()->getParameter(BornAgain::Intensity).getValue());
        EXPECT_EQ(complex_t(0.6, 0.0), beam_copy.getPolarization()(0, 0));
        EXPECT_EQ(complex_t(0.4, 0.0), beam_copy.getPolarization()(1, 1));