File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -805,23 +805,53 @@ TEST(RNTuple, ModelExtensionRecordNested)
805805 auto ptrFloat = static_cast <float *>(entry->GetPtr <void >(" r1" ).get ());
806806 *ptrFloat = 1.0 ;
807807 writer->Fill (*entry);
808+
809+ modelUpdater->BeginUpdate ();
810+ modelUpdater->AddField (std::make_unique<RField<double >>(" ptHP" ), " r1.r2.r3.r4" );
811+ modelUpdater->CommitUpdate ();
812+
813+ EXPECT_EQ (2 * sizeof (double ), writer->GetModel ().GetConstField (" r1" ).GetValueSize ());
814+ entry = writer->CreateEntry ();
815+ struct FloatAndDouble {
816+ float pt;
817+ double ptHP;
818+ };
819+
820+ auto ptrFloatAndDouble = static_cast <FloatAndDouble *>(entry->GetPtr <void >(" r1" ).get ());
821+ ptrFloatAndDouble->pt = 2.0 ;
822+ ptrFloatAndDouble->ptHP = 3.0 ;
823+ writer->Fill (*entry);
808824 }
809825
810826 auto reader = RNTupleReader::Open (" ntpl" , fileGuard.GetPath ());
811- EXPECT_EQ (3u , reader->GetNEntries ());
827+ EXPECT_EQ (4u , reader->GetNEntries ());
812828
813829 std::ostringstream os;
814830 reader->Show (0 , os);
815831 reader->Show (1 , os);
816832 reader->Show (2 , os);
833+ reader->Show (3 , os);
817834 // clang-format off
818835 std::string expect{
819836R"( {
820837 "r1": {
821838 "r2": {
822839 "r3": {
823840 "r4": {
824- "pt": 0
841+ "pt": 0,
842+ "ptHP": 0
843+ }
844+ }
845+ }
846+ }
847+ }
848+ {
849+ "r1": {
850+ "r2": {
851+ "r3": {
852+ "r4": {
853+ "pt": 0,
854+ "ptHP": 0
825855 }
826856 }
827857 }
832862 "r2": {
833863 "r3": {
834864 "r4": {
835- "pt": 0
865+ "pt": 1,
866+ "ptHP": 0
836867 }
837868 }
838869 }
843874 "r2": {
844875 "r3": {
845876 "r4": {
846- "pt": 1
877+ "pt": 2,
878+ "ptHP": 3
847879 }
848880 }
849881 }
You can’t perform that action at this time.
0 commit comments