Skip to content

Commit e68b824

Browse files
authored
fix mfx carrier indexing (#408)
1 parent 4b68132 commit e68b824

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

pylabrobot/resources/carrier.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def assign_child_resource(
6464

6565
# see if we have an index for the resource name (eg from deserialization or user specification),
6666
# otherwise add in first available spot
67-
idx = spot or len(self.sites)
67+
idx = spot if spot is not None else len(self.sites)
6868
if not reassign and self.sites[idx] is not None:
6969
raise ValueError(f"a site with index {idx} already exists")
7070
self.sites[idx] = cast(S, resource)

pylabrobot/resources/carrier_tests.py

+27
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import unittest
22

3+
from pylabrobot.resources.hamilton.mfx_carriers import MFX_CAR_L5_base
4+
from pylabrobot.resources.hamilton.mfx_modules import MFX_TIP_module
5+
36
from .carrier import (
47
Carrier,
58
PlateCarrier,
@@ -398,3 +401,27 @@ def test_assign_resource_stack(self):
398401
pcs._update_resource_stack_location,
399402
resource_stack._did_assign_resource_callbacks,
400403
)
404+
405+
406+
class MFXCarrierTests(unittest.TestCase):
407+
def test_init(self):
408+
MFX_TIP_module_1 = MFX_TIP_module(name="MFX_TIP_module_1")
409+
MFX_TIP_module_2 = MFX_TIP_module(name="MFX_TIP_module_2")
410+
MFX_TIP_module_3 = MFX_TIP_module(name="MFX_TIP_module_3")
411+
MFX_TIP_module_4 = MFX_TIP_module(name="MFX_TIP_module_4")
412+
MFX_TIP_module_5 = MFX_TIP_module(name="MFX_TIP_module_5")
413+
414+
mfx_carrier = MFX_CAR_L5_base(
415+
name="mfx_tip_carrier_1",
416+
modules={
417+
4: MFX_TIP_module_5,
418+
3: MFX_TIP_module_4,
419+
2: MFX_TIP_module_3,
420+
1: MFX_TIP_module_2,
421+
0: MFX_TIP_module_1,
422+
},
423+
)
424+
assert len(mfx_carrier.children) == 5
425+
assert len(mfx_carrier.sites) == 5
426+
for i in range(5):
427+
assert mfx_carrier.sites[i].name == f"MFX_TIP_module_{i + 1}"

0 commit comments

Comments
 (0)