diff --git a/pylabrobot/resources/itemized_resource_tests.py b/pylabrobot/resources/itemized_resource_tests.py index aff08d1f664..2cba64892b4 100644 --- a/pylabrobot/resources/itemized_resource_tests.py +++ b/pylabrobot/resources/itemized_resource_tests.py @@ -44,21 +44,21 @@ def setUp(self) -> None: def test_initialize_with_wells(self): self.assertEqual(len(self.plate.children), 96) - self.assertEqual(self.plate.children[0].name, "plate_well_0_0") - self.assertEqual(self.plate.children[95].name, "plate_well_11_7") + self.assertEqual(self.plate.children[0].name, "plate_well_A1") + self.assertEqual(self.plate.children[95].name, "plate_well_H12") def test_get_item_int(self): - self.assertEqual(self.plate.get_item(0).name, "plate_well_0_0") - self.assertEqual(self.plate.get_item(95).name, "plate_well_11_7") + self.assertEqual(self.plate.get_item(0).name, "plate_well_A1") + self.assertEqual(self.plate.get_item(95).name, "plate_well_H12") def test_get_item_str(self): - self.assertEqual(self.plate.get_item("A1").name, "plate_well_0_0") - self.assertEqual(self.plate.get_item("B1").name, "plate_well_0_1") - self.assertEqual(self.plate.get_item("A2").name, "plate_well_1_0") + self.assertEqual(self.plate.get_item("A1").name, "plate_well_A1") + self.assertEqual(self.plate.get_item("B1").name, "plate_well_B1") + self.assertEqual(self.plate.get_item("A2").name, "plate_well_A2") def test_get_item_tuple(self): - self.assertEqual(self.plate.get_item((0, 0)).name, "plate_well_0_0") - self.assertEqual(self.plate.get_item((7, 11)).name, "plate_well_11_7") + self.assertEqual(self.plate.get_item((0, 0)).name, "plate_well_A1") + self.assertEqual(self.plate.get_item((7, 11)).name, "plate_well_H12") def test_well_get_absolute_location(self): self.assertEqual( @@ -83,23 +83,23 @@ def test_well_get_absolute_location(self): ) def test_getitem_int(self): - self.assertEqual(self.plate[0][0].name, "plate_well_0_0") + self.assertEqual(self.plate[0][0].name, "plate_well_A1") def test_getitem_str(self): - self.assertEqual(self.plate["A1"][0].name, "plate_well_0_0") - self.assertEqual(self.plate["B2"][0].name, "plate_well_1_1") + self.assertEqual(self.plate["A1"][0].name, "plate_well_A1") + self.assertEqual(self.plate["B2"][0].name, "plate_well_B2") def test_getitem_slice(self): self.assertEqual( [w.name for w in self.plate[0:7]], [ - "plate_well_0_0", - "plate_well_0_1", - "plate_well_0_2", - "plate_well_0_3", - "plate_well_0_4", - "plate_well_0_5", - "plate_well_0_6", + "plate_well_A1", + "plate_well_B1", + "plate_well_C1", + "plate_well_D1", + "plate_well_E1", + "plate_well_F1", + "plate_well_G1", ], ) @@ -107,13 +107,13 @@ def test_getitem_range(self): self.assertEqual( [w.name for w in self.plate[range(7)]], [ - "plate_well_0_0", - "plate_well_0_1", - "plate_well_0_2", - "plate_well_0_3", - "plate_well_0_4", - "plate_well_0_5", - "plate_well_0_6", + "plate_well_A1", + "plate_well_B1", + "plate_well_C1", + "plate_well_D1", + "plate_well_E1", + "plate_well_F1", + "plate_well_G1", ], ) @@ -121,10 +121,10 @@ def test_getitem_str_range(self): self.assertEqual( [w.name for w in self.plate["A1:B2"]], [ - "plate_well_0_0", - "plate_well_1_0", - "plate_well_0_1", - "plate_well_1_1", + "plate_well_A1", + "plate_well_A2", + "plate_well_B1", + "plate_well_B2", ], ) @@ -137,49 +137,49 @@ def test_getitem_str_error(self): def test_getitem_tuple_int(self): self.assertEqual( [w.name for w in self.plate[0, 4, 1]], - ["plate_well_0_0", "plate_well_0_4", "plate_well_0_1"], + ["plate_well_A1", "plate_well_E1", "plate_well_B1"], ) def test_getitem_tuple_str(self): self.assertEqual( [w.name for w in self.plate["A1", "B2", "A2"]], - ["plate_well_0_0", "plate_well_1_1", "plate_well_1_0"], + ["plate_well_A1", "plate_well_B2", "plate_well_A2"], ) def test_get_row(self): self.assertEqual( [w.name for w in self.plate.row(0)], [ - "plate_well_0_0", - "plate_well_1_0", - "plate_well_2_0", - "plate_well_3_0", - "plate_well_4_0", - "plate_well_5_0", - "plate_well_6_0", - "plate_well_7_0", - "plate_well_8_0", - "plate_well_9_0", - "plate_well_10_0", - "plate_well_11_0", + "plate_well_A1", + "plate_well_A2", + "plate_well_A3", + "plate_well_A4", + "plate_well_A5", + "plate_well_A6", + "plate_well_A7", + "plate_well_A8", + "plate_well_A9", + "plate_well_A10", + "plate_well_A11", + "plate_well_A12", ], ) self.assertEqual( [w.name for w in self.plate.row(3)], [ - "plate_well_0_3", - "plate_well_1_3", - "plate_well_2_3", - "plate_well_3_3", - "plate_well_4_3", - "plate_well_5_3", - "plate_well_6_3", - "plate_well_7_3", - "plate_well_8_3", - "plate_well_9_3", - "plate_well_10_3", - "plate_well_11_3", + "plate_well_D1", + "plate_well_D2", + "plate_well_D3", + "plate_well_D4", + "plate_well_D5", + "plate_well_D6", + "plate_well_D7", + "plate_well_D8", + "plate_well_D9", + "plate_well_D10", + "plate_well_D11", + "plate_well_D12", ], ) @@ -203,28 +203,28 @@ def test_get_column(self): self.assertEqual( [w.name for w in self.plate.column(0)], [ - "plate_well_0_0", - "plate_well_0_1", - "plate_well_0_2", - "plate_well_0_3", - "plate_well_0_4", - "plate_well_0_5", - "plate_well_0_6", - "plate_well_0_7", + "plate_well_A1", + "plate_well_B1", + "plate_well_C1", + "plate_well_D1", + "plate_well_E1", + "plate_well_F1", + "plate_well_G1", + "plate_well_H1", ], ) self.assertEqual( [w.name for w in self.plate.column(3)], [ - "plate_well_3_0", - "plate_well_3_1", - "plate_well_3_2", - "plate_well_3_3", - "plate_well_3_4", - "plate_well_3_5", - "plate_well_3_6", - "plate_well_3_7", + "plate_well_A4", + "plate_well_B4", + "plate_well_C4", + "plate_well_D4", + "plate_well_E4", + "plate_well_F4", + "plate_well_G4", + "plate_well_H4", ], ) diff --git a/pylabrobot/resources/utils.py b/pylabrobot/resources/utils.py index 5cb8859ba64..b33866cf63c 100644 --- a/pylabrobot/resources/utils.py +++ b/pylabrobot/resources/utils.py @@ -176,6 +176,8 @@ def create_ordered_items_2d( **kwargs, ) keys = [f"{LETTERS[j]}{i+1}" for i in range(num_items_x) for j in range(num_items_y)] + for key, item in zip(keys, (item for sublist in items for item in sublist)): + item.name = f"{klass.__name__.lower()}_{key}" return dict(zip(keys, [item for sublist in items for item in sublist])) diff --git a/pylabrobot/visualizer/visualizer_tests.py b/pylabrobot/visualizer/visualizer_tests.py index 626ac5d8412..7a27f9ec733 100644 --- a/pylabrobot/visualizer/visualizer_tests.py +++ b/pylabrobot/visualizer/visualizer_tests.py @@ -145,6 +145,6 @@ async def test_state_updated(self): call_args = self.vis.send_command.call_args[1] # type: ignore[attr-defined] self.assertEqual(call_args["event"], "set_state") self.assertEqual( - call_args["data"]["plate_01_well_11_7"]["liquids"], + call_args["data"]["plate_01_well_H12"]["liquids"], [[None, 500]], )