From 498bd81adcb90e69f9b99ce04198f3183baab177 Mon Sep 17 00:00:00 2001
From: Ben Webb <ben@salilab.org>
Date: Tue, 29 Oct 2024 16:21:13 -0700
Subject: [PATCH] Work around wrong model group IDs in python-ihm 1.7

---
 test/test_mmcif.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/test/test_mmcif.py b/test/test_mmcif.py
index 090303fc..31a755fd 100644
--- a/test/test_mmcif.py
+++ b/test/test_mmcif.py
@@ -1123,6 +1123,8 @@ def test_ensemble_dumper(self):
         """Test dumping of simple ensembles"""
         class DummyPostProcess:
             pass
+        class DummyModel:
+            pass
         m = IMP.Model()
         s = IMP.pmi.topology.System(m)
         po = IMP.pmi.mmcif.ProtocolOutput()
@@ -1131,10 +1133,14 @@ class DummyPostProcess:
 
         pp = DummyPostProcess()
         pp._id = 99
-        po._add_simple_ensemble(pp, 'Ensemble 1', 5, 0.1, 1,
-                                {}, None)
-        po._add_simple_ensemble(pp, 'Ensemble 2', 5, 0.1, 1,
-                                {}, None)
+        e = po._add_simple_ensemble(pp, 'Ensemble 1', 5, 0.1, 1,
+                                    {}, None)
+        # Work around python-ihm 1.7 not handling IDs of empty model
+        # groups properly
+        e.model_group.append(DummyModel())
+        e = po._add_simple_ensemble(pp, 'Ensemble 2', 5, 0.1, 1,
+                                    {}, None)
+        e.model_group.append(DummyModel())
         loc = ihm.location.InputFileLocation(repo='foo', path='bar')
         po.set_ensemble_file(1, loc)
         loc._id = 42