File indexing completed on 2024-04-06 12:05:01
0001 #include <catch.hpp>
0002
0003 #include "DataFormats/Portable/interface/PortableCollection.h"
0004 #include "DataFormats/Portable/interface/PortableHostCollection.h"
0005 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0006 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0007 #include "DataFormats/SoATemplate/interface/SoAView.h"
0008
0009 namespace {
0010 GENERATE_SOA_LAYOUT(TestLayout, SOA_COLUMN(double, x), SOA_COLUMN(int32_t, id))
0011
0012 using TestSoA = TestLayout<>;
0013
0014 constexpr auto s_tag = "[PortableCollection]";
0015 }
0016
0017
0018 TEST_CASE("Use of PortableCollection<T, TDev> on host code", s_tag) {
0019 auto const size = 10;
0020 PortableCollection<TestSoA, alpaka::DevCpu> coll(size, cms::alpakatools::host());
0021
0022 SECTION("Tests") { REQUIRE(coll->metadata().size() == size); }
0023
0024 static_assert(std::is_same_v<PortableCollection<TestSoA, alpaka::DevCpu>, PortableHostCollection<TestSoA>>);
0025 }