From 6270d4467c88664463ee6f03ffa73bce408128ea Mon Sep 17 00:00:00 2001 From: Jonas Hahnfeld Date: Mon, 19 Oct 2026 15:39:38 +0200 Subject: [PATCH] [ntuple] Add test with SoALeafNewNoRenameRule --- tree/ntuple/test/ntuple_soa.cxx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tree/ntuple/test/ntuple_soa.cxx b/tree/ntuple/test/ntuple_soa.cxx index 6bf4f198199f8..5181e17a5e907 100644 --- a/tree/ntuple/test/ntuple_soa.cxx +++ b/tree/ntuple/test/ntuple_soa.cxx @@ -623,6 +623,31 @@ TEST(RNTuple, SoARename) EXPECT_FLOAT_EQ(6.0, leafSoA->fLeaf[1]); } + { + auto model = ROOT::RNTupleModel::Create(); + model->AddField(std::make_unique("leaf", "SoALeafNewNoRenameRule")); + auto reader = ROOT::RNTupleReader::Open(std::move(model), "ntpl", fileGuard.GetPath()); + + // We cannot use "Show()" because that will reconstruct the original model as a display model, it will not + // use the imposed model. + + auto leafSoA = reader->GetModel().GetDefaultEntry().GetPtr("leaf"); + reader->LoadEntry(0); + + EXPECT_EQ(2u, leafSoA->fBase.size()); + EXPECT_EQ(2u, leafSoA->fNew.size()); + EXPECT_EQ(2u, leafSoA->fIntermediate.size()); + EXPECT_EQ(2u, leafSoA->fLeaf.size()); + EXPECT_FLOAT_EQ(1.0, leafSoA->fBase[0]); + EXPECT_FLOAT_EQ(2.0, leafSoA->fBase[1]); + EXPECT_FLOAT_EQ(0.0, leafSoA->fNew[0]); + EXPECT_FLOAT_EQ(0.0, leafSoA->fNew[1]); + EXPECT_FLOAT_EQ(3.0, leafSoA->fIntermediate[0]); + EXPECT_FLOAT_EQ(4.0, leafSoA->fIntermediate[1]); + EXPECT_FLOAT_EQ(5.0, leafSoA->fLeaf[0]); + EXPECT_FLOAT_EQ(6.0, leafSoA->fLeaf[1]); + } + { auto model = ROOT::RNTupleModel::Create(); model->AddField(std::make_unique("leaf", "SoALeafLikeNew"));