← Về thư mục
tests/opentrons-integration/test_scripts.py
- declarations · function · L73-L75 — def declarations(name: str)
- run_log · function · L78-L84 — def run_log(name: str) -> list[str]
- calls · function · L87-L119 — def calls(name: str) -> list[tuple[str, list, dict]]
- call_argument · function · L122-L131 — def call_argument(name: str, method: str, index: int, keyword: str)
- load_names · function · L134-L147 — def load_names(name: str, method: str) -> list[str]
- slots · function · L150-L168 — def slots(name: str) -> list[str]
- closing_comment · function · L171-L181 — def closing_comment(name: str) -> str | None
- counted · function · L184-L185 — def counted(log: list[str], prefix: str) -> int
- TemplateInventoryTests · class · L188-L193 — class TemplateInventoryTests(unittest.TestCase)
- test_the_shipped_templates_are_the_ones_under_test · method · L189-L193 — def test_the_shipped_templates_are_the_ones_under_test(self) -> None: # A new template must be added here deliberately, with tests.
- DeclarationTests · class · L196-L232 — class DeclarationTests(unittest.TestCase)
- test_each_template_names_itself_and_its_purpose · method · L199-L206 — def test_each_template_names_itself_and_its_purpose(self) -> None
- test_each_template_declares_its_robot_and_api_level · method · L208-L215 — def test_each_template_declares_its_robot_and_api_level(self) -> None
- test_no_template_asks_for_a_newer_api_than_the_installed_package · method · L217-L226 — def test_no_template_asks_for_a_newer_api_than_the_installed_package(self) -> None: # A protocol declaring an unsupported apiLevel fails analysis before a # single command runs, and the error names the level rather than the bug.
- test_each_template_exposes_a_single_argument_run_entry_point · method · L228-L232 — def test_each_template_exposes_a_single_argument_run_entry_point(self) -> None
- RobotSpecificApiTests · class · L235-L289 — class RobotSpecificApiTests(unittest.TestCase)
- test_the_ot2_template_uses_numbered_deck_slots · method · L240-L244 — def test_the_ot2_template_uses_numbered_deck_slots(self) -> None
- test_the_flex_templates_use_coordinate_deck_slots · method · L246-L251 — def test_the_flex_templates_use_coordinate_deck_slots(self) -> None
- test_the_ot2_template_leaves_the_fixed_trash_alone · method · L253-L257 — def test_the_ot2_template_leaves_the_fixed_trash_alone(self) -> None: # The OT-2 trash is wired to slot 12; calling load_trash_bin() on an # OT-2 is an error, which is why the template only comments on it.
- test_every_flex_template_with_a_pipette_loads_a_trash_bin · method · L259-L267 — def test_every_flex_template_with_a_pipette_loads_a_trash_bin(self) -> None: # Flex has no fixed trash: a protocol that picks up a tip and never # declares somewhere to drop it fails analysis.
- test_pipette_names_match_the_robot_line · method · L269-L278 — def test_pipette_names_match_the_robot_line(self) -> None
- test_tip_racks_match_the_robot_line · method · L280-L289 — def test_tip_racks_match_the_robot_line(self) -> None
- SimulationTests · class · L292-L315 — class SimulationTests(unittest.TestCase)
- test_every_flex_template_simulates_to_its_closing_comment · method · L293-L302 — def test_every_flex_template_simulates_to_its_closing_comment(self) -> None
- test_the_flex_package_refuses_the_ot2_template · method · L304-L315 — def test_the_flex_package_refuses_the_ot2_template(self) -> None
- BasicTransferTests · class · L318-L339 — class BasicTransferTests(unittest.TestCase)
- setUp · method · L321-L322 — def setUp(self) -> None
- test_one_tip_is_used_for_the_single_transfer · method · L324-L326 — def test_one_tip_is_used_for_the_single_transfer(self) -> None
- test_the_declared_hundred_microlitres_move_from_reservoir_to_plate · method · L328-L334 — def test_the_declared_hundred_microlitres_move_from_reservoir_to_plate(self) -> None
- test_the_transfer_stays_within_the_declared_reservoir_volume · method · L336-L339 — def test_the_transfer_stays_within_the_declared_reservoir_volume(self) -> None: # 1000 uL is loaded into A1; one 100 uL transfer cannot overdraw it.
- RuntimeParameterTests · class · L342-L423 — class RuntimeParameterTests(unittest.TestCase)
- Recorder · class · L345-L361 — class Recorder
- init · method · L348-L349 — def init(self) -> None
- _add · method · L351-L352 — def _add(self, kind, **kwargs)
- add_int · method · L354-L355 — def add_int(self, **kwargs)
- add_float · method · L357-L358 — def add_float(self, **kwargs)
- add_bool · method · L360-L361 — def add_bool(self, **kwargs)
- setUp · method · L363-L366 — def setUp(self) -> None
- test_the_three_documented_parameters_are_declared · method · L368-L372 — def test_the_three_documented_parameters_are_declared(self) -> None
- test_every_numeric_default_sits_inside_its_own_bounds · method · L374-L382 — def test_every_numeric_default_sits_inside_its_own_bounds(self) -> None: # A default outside the range is rejected at run setup, and the operator # sees a validation error rather than the protocol.
- test_the_volume_ceiling_fits_the_tips_the_template_loads · method · L384-L391 — def test_the_volume_ceiling_fits_the_tips_the_template_loads(self) -> None: # 200 uL tips: a maximum above that cannot be aspirated in one go.
- test_the_sample_ceiling_fits_the_destination_plate · method · L393-L395 — def test_the_sample_ceiling_fits_the_destination_plate(self) -> None: # A 96-well plate; the ceiling of 12 is one row of a reservoir's worth.
- test_the_defaults_fill_eight_wells_with_fifty_microlitres · method · L397-L403 — def test_the_defaults_fill_eight_wells_with_fifty_microlitres(self) -> None
- test_the_aspirated_total_is_the_eight_doses_plus_disposal · method · L405-L414 — def test_the_aspirated_total_is_the_eight_doses_plus_disposal(self) -> None
- test_distributing_reuses_one_tip · method · L416-L417 — def test_distributing_reuses_one_tip(self) -> None
- test_the_dry_run_default_gives_the_one_second_incubation · method · L419-L423 — def test_the_dry_run_default_gives_the_one_second_incubation(self) -> None: # The alternative branch waits 60 s; a simulated dry run must not.
- SerialDilutionTests · class · L426-L478 — class SerialDilutionTests(unittest.TestCase)
- setUp · method · L433-L434 — def setUp(self) -> None
- test_the_documented_number_of_dilution_steps_is_performed · method · L436-L438 — def test_the_documented_number_of_dilution_steps_is_performed(self) -> None
- test_one_tip_per_dilution_step_plus_the_diluent_and_cleanup_tips · method · L440-L444 — def test_one_tip_per_dilution_step_plus_the_diluent_and_cleanup_tips(self) -> None: # new_tip="once" for the diluent fill, "always" across the series, and # one more to remove the final 100 uL: 1 + 11 + 1.
- test_every_hundred_microlitre_draw_is_accounted_for · method · L446-L449 — def test_every_hundred_microlitre_draw_is_accounted_for(self) -> None
- test_the_declared_diluent_covers_every_row_of_every_step · method · L451-L458 — def test_the_declared_diluent_covers_every_row_of_every_step(self) -> None: # An 8-channel head fills eight wells per command, so the reservoir # needs 8 x 11 x 100 uL = 8800 uL; the template declares 12 mL.
- test_the_final_column_is_equalised_into_the_trash · method · L460-L467 — def test_the_final_column_is_equalised_into_the_trash(self) -> None: # Without this the last column holds 200 uL and the series is not 1:2.
- test_the_stock_column_is_never_diluted_from_the_reservoir · method · L469-L478 — def test_the_stock_column_is_never_diluted_from_the_reservoir(self) -> None: # Diluent goes into columns 2-12 only; column 1 holds the stock.
- PcrSetupTests · class · L481-L559 — class PcrSetupTests(unittest.TestCase)
- setUp · method · L487-L488 — def setUp(self) -> None
- test_the_reaction_volume_matches_the_advertised_twenty_five · method · L490-L492 — def test_the_reaction_volume_matches_the_advertised_twenty_five(self) -> None
- test_the_master_mix_is_distributed_in_one_aspiration · method · L494-L502 — def test_the_master_mix_is_distributed_in_one_aspiration(self) -> None: # 8 x 20 uL plus the 10 uL disposal volume is 170 uL, inside a 200 uL # tip -- so the whole plate column is filled from a single draw.
- test_the_declared_master_mix_volume_covers_the_run · method · L504-L512 — def test_the_declared_master_mix_volume_covers_the_run(self) -> None
- test_each_reaction_gets_one_template_from_its_own_tube · method · L514-L524 — def test_each_reaction_gets_one_template_from_its_own_tube(self) -> None
- test_one_tip_for_the_master_mix_and_one_per_template · method · L526-L527 — def test_one_tip_for_the_master_mix_and_one_per_template(self) -> None
- test_the_cycling_profile_runs_thirty_five_repetitions · method · L529-L534 — def test_the_cycling_profile_runs_thirty_five_repetitions(self) -> None
- test_the_block_and_lid_temperatures_are_the_documented_ones · method · L536-L543 — def test_the_block_and_lid_temperatures_are_the_documented_ones(self) -> None
- test_the_lid_is_opened_before_pipetting_and_after_cycling · method · L545-L552 — def test_the_lid_is_opened_before_pipetting_and_after_cycling(self) -> None
- test_every_thermocycler_step_declares_the_reaction_volume · method · L554-L559 — def test_every_thermocycler_step_declares_the_reaction_volume(self) -> None: # block_max_volume drives the ramp: understating it under-heats the mix.
- AbsorbanceReaderTests · class · L562-L595 — class AbsorbanceReaderTests(unittest.TestCase)
- setUp · method · L565-L566 — def setUp(self) -> None
- test_the_reader_is_initialised_at_both_documented_wavelengths · method · L568-L572 — def test_the_reader_is_initialised_at_both_documented_wavelengths(self) -> None
- test_the_lid_is_closed_before_initialisation · method · L574-L577 — def test_the_lid_is_closed_before_initialisation(self) -> None: # Required even when the physical lid starts closed, per the module docs.
- test_the_plate_is_moved_onto_the_reader_and_back_to_its_slot · method · L579-L586 — def test_the_plate_is_moved_onto_the_reader_and_back_to_its_slot(self) -> None
- test_the_read_is_exported_under_a_filename · method · L588-L590 — def test_the_read_is_exported_under_a_filename(self) -> None: # Without export_filename the measurements stay in the run only.
- test_no_pipette_is_loaded_so_no_trash_is_needed · method · L592-L595 — def test_no_pipette_is_loaded_so_no_trash_is_needed(self) -> None