OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
TestReferencePathModel.cpp
Go to the documentation of this file.
1#include "gtest/gtest.h"
2
5
6TEST(ReferencePathModelTest, PreservesLegacyElementEdgeMetadata) {
8 auto drift = std::make_shared<DriftRep>("D1");
9 model.addSegment(ReferencePathSegment(1.0, 2.5, {drift}, 1.25));
10 model.addSegment(ReferencePathSegment(2.5, 4.0));
11
12 ASSERT_EQ(model.size(), 2u);
13 EXPECT_DOUBLE_EQ(model[0].getBegin(), 1.0);
14 EXPECT_DOUBLE_EQ(model[0].getEnd(), 2.5);
15 ASSERT_EQ(model[0].getActiveElements().size(), 1u);
16 EXPECT_EQ((*model[0].getActiveElements().begin())->getName(), "D1");
17 ASSERT_TRUE(model[0].hasLegacyElementEdge());
18 EXPECT_DOUBLE_EQ(*model[0].getLegacyElementEdge(), 1.25);
19 EXPECT_FALSE(model[1].hasLegacyElementEdge());
20}
TEST(ReferencePathModelTest, PreservesLegacyElementEdgeMetadata)
Ordered collection of reference-path segments.
void addSegment(const ReferencePathSegment &segment)
Reference-coordinate interval with optional legacy ELEMEDGE anchor.