OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
TestConstEzField.cpp
Go to the documentation of this file.
1
8#include <gtest/gtest.h>
9
10#include "Fields/ConstEzField.h"
11#include "Fields/EMField.h"
12
13#include <cmath>
14
15namespace {
16
17 class ConstEzFieldTest : public ::testing::Test {
18 protected:
19 void SetUp() override { field_.setEz(10.0); }
20
21 ConstEzField field_;
22 };
23
24 TEST_F(ConstEzFieldTest, GetEzSetEz) {
25 EXPECT_DOUBLE_EQ(field_.getEz(), 10.0);
26 field_.setEz(-3.0);
27 EXPECT_DOUBLE_EQ(field_.getEz(), -3.0);
28 field_.setEz(0.0);
29 EXPECT_DOUBLE_EQ(field_.getEz(), 0.0);
30 }
31
32 TEST_F(ConstEzFieldTest, EfieldP) {
33 Point3D P(1.0, 2.0, 3.0);
34 EVector E = field_.Efield(P);
35 EXPECT_DOUBLE_EQ(E.getEx(), 0.0);
36 EXPECT_DOUBLE_EQ(E.getEy(), 0.0);
37 EXPECT_DOUBLE_EQ(E.getEz(), 10.0);
38 }
39
40 TEST_F(ConstEzFieldTest, EfieldPT) {
41 Point3D P(0.0, 0.0, 0.0);
42 EVector E = field_.Efield(P, 1.0);
43 EXPECT_DOUBLE_EQ(E.getEx(), 0.0);
44 EXPECT_DOUBLE_EQ(E.getEy(), 0.0);
45 EXPECT_DOUBLE_EQ(E.getEz(), 10.0);
46 }
47
48 TEST_F(ConstEzFieldTest, Scale) {
49 field_.scale(2.0);
50 EXPECT_DOUBLE_EQ(field_.getEz(), 20.0);
51 Point3D P(0, 0, 0);
52 EVector E = field_.Efield(P);
53 EXPECT_DOUBLE_EQ(E.getEz(), 20.0);
54
55 field_.scale(-0.5);
56 EXPECT_DOUBLE_EQ(field_.getEz(), -10.0);
57 E = field_.Efield(P);
58 EXPECT_DOUBLE_EQ(E.getEz(), -10.0);
59 }
60
61} // namespace
TEST_F(MonitorTest, GetType)
An electric field vector.
Definition EMField.h:58
double getEz() const
Get component.
Definition EMField.cpp:59
double getEx() const
Get component.
Definition EMField.cpp:55
double getEy() const
Get component.
Definition EMField.cpp:57
A point in 3 dimensions.
Definition EMField.h:32