@@ -1134,7 +1134,7 @@ def test_retract_after_dispense_with_blowout_in_source(
1134
1134
air_gap_flow_rate_by_vol = 123
1135
1135
air_gap_correction_by_vol = 0.321
1136
1136
1137
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1137
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1138
1138
0 , air_gap_volume
1139
1139
)
1140
1140
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1258,6 +1258,10 @@ def test_retract_after_dispense_with_blowout_in_destination(
1258
1258
air_gap_correction_by_vol = 0.321
1259
1259
1260
1260
sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1261
+ 0 ,
1262
+ 1234 , # Explicitly check that this value is not used during post-dispense air gap
1263
+ )
1264
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1261
1265
0 , air_gap_volume
1262
1266
)
1263
1267
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1366,7 +1370,7 @@ def test_retract_after_dispense_with_blowout_in_trash_well(
1366
1370
air_gap_flow_rate_by_vol = 123
1367
1371
air_gap_correction_by_vol = 0.321
1368
1372
1369
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1373
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1370
1374
0 , air_gap_volume
1371
1375
)
1372
1376
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1493,7 +1497,7 @@ def test_retract_after_dispense_with_blowout_in_disposal_location(
1493
1497
air_gap_flow_rate_by_vol = 123
1494
1498
air_gap_correction_by_vol = 0.321
1495
1499
1496
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1500
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1497
1501
0 , air_gap_volume
1498
1502
)
1499
1503
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1599,7 +1603,7 @@ def test_retract_after_dispense_in_trash_with_blowout_in_source(
1599
1603
air_gap_flow_rate_by_vol = 123
1600
1604
air_gap_correction_by_vol = 0.321
1601
1605
1602
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1606
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1603
1607
0 , air_gap_volume
1604
1608
)
1605
1609
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1697,7 +1701,7 @@ def test_retract_after_dispense_in_trash_with_blowout_in_destination(
1697
1701
air_gap_flow_rate_by_vol = 123
1698
1702
air_gap_correction_by_vol = 0.321
1699
1703
1700
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1704
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1701
1705
0 , air_gap_volume
1702
1706
)
1703
1707
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1780,7 +1784,7 @@ def test_retract_after_dispense_in_trash_with_blowout_in_disposal_location(
1780
1784
air_gap_flow_rate_by_vol = 123
1781
1785
air_gap_correction_by_vol = 0.321
1782
1786
1783
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1787
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1784
1788
0 , air_gap_volume
1785
1789
)
1786
1790
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -1899,7 +1903,7 @@ def test_retract_after_dispense_with_blowout_in_src_moves_to_safe_loc_for_air_ga
1899
1903
air_gap_flow_rate_by_vol = 123
1900
1904
air_gap_correction_by_vol = 0.321
1901
1905
1902
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
1906
+ sample_transfer_props .dispense .retract .air_gap_by_volume .set_for_volume (
1903
1907
0 , air_gap_volume
1904
1908
)
1905
1909
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
@@ -2039,26 +2043,33 @@ def test_multi_dispense_retract_after_dispense_without_conditioning_volume_or_bl
2039
2043
dest_well = decoy .mock (cls = WellCore )
2040
2044
well_top_point = Point (1 , 2 , 3 )
2041
2045
sample_transfer_props .multi_dispense .retract .touch_tip .enabled = True # type: ignore[union-attr]
2042
- air_gap_volume = 0.123
2043
2046
air_gap_flow_rate_by_vol = 123
2044
2047
air_gap_correction_by_vol = 0.321
2045
2048
2046
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
2047
- 0 , air_gap_volume
2049
+ sample_transfer_props .multi_dispense .retract .air_gap_by_volume .set_for_volume ( # type: ignore[union-attr]
2050
+ 100 , 51
2048
2051
)
2049
2052
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
2050
- air_gap_volume , air_gap_flow_rate_by_vol
2053
+ 51 , air_gap_flow_rate_by_vol
2051
2054
)
2052
2055
sample_transfer_props .aspirate .correction_by_volume .set_for_volume (
2053
- air_gap_volume , air_gap_correction_by_vol
2056
+ 51 , air_gap_correction_by_vol
2054
2057
)
2055
-
2056
2058
subject = TransferComponentsExecutor (
2057
2059
instrument_core = mock_instrument_core ,
2058
2060
transfer_properties = sample_transfer_props ,
2059
2061
target_location = Location (Point (1 , 1 , 1 ), labware = None ),
2060
2062
target_well = dest_well ,
2061
- tip_state = TipState (),
2063
+ tip_state = TipState (
2064
+ ready_to_aspirate = True ,
2065
+ last_liquid_and_air_gap_in_tip = LiquidAndAirGapPair (
2066
+ # Since we'll be testing retract_during_multi_dispensing right after
2067
+ # initializing the executor, this is the tip state that retract_during_multi_dispensing
2068
+ # will start with.
2069
+ liquid = 100 ,
2070
+ air_gap = 0 ,
2071
+ ),
2072
+ ),
2062
2073
transfer_type = TransferType .ONE_TO_MANY ,
2063
2074
)
2064
2075
decoy .when (mock_instrument_core .get_current_volume ()).then_return (0 )
@@ -2112,7 +2123,7 @@ def test_multi_dispense_retract_after_dispense_without_conditioning_volume_or_bl
2112
2123
and [
2113
2124
mock_instrument_core .air_gap_in_place (
2114
2125
# type: ignore[func-returns-value]
2115
- volume = air_gap_volume ,
2126
+ volume = 51 ,
2116
2127
flow_rate = air_gap_flow_rate_by_vol ,
2117
2128
correction_volume = air_gap_correction_by_vol ,
2118
2129
),
@@ -2159,8 +2170,8 @@ def test_multi_dispense_retract_after_dispense_with_blowout_without_conditioning
2159
2170
air_gap_flow_rate_by_vol = 123
2160
2171
air_gap_correction_by_vol = 0.321
2161
2172
2162
- sample_transfer_props .aspirate .retract .air_gap_by_volume .set_for_volume (
2163
- 0 , air_gap_volume
2173
+ sample_transfer_props .multi_dispense .retract .air_gap_by_volume .set_for_all_volumes ( # type: ignore[union-attr]
2174
+ air_gap_volume
2164
2175
)
2165
2176
sample_transfer_props .aspirate .flow_rate_by_volume .set_for_volume (
2166
2177
air_gap_volume , air_gap_flow_rate_by_vol
0 commit comments