def test_clear_stages_with_ref(stage_factory: StageFactoryBase): s = make_stage(stage_factory) s2 = make_stage(stage_factory) s.name = 'stage' s2.name = 'stage2' stage_factory.add_stage(s) stage_factory.add_stage(s2) assert stage_factory.stage_names['stage'] is s assert s in stage_factory.stages assert stage_factory.stage_names['stage2'] is s2 assert s2 in stage_factory.stages ref = stage_factory.get_stage_ref(name='stage') stage_factory.clear_stages() # s should not have been removed, but s2 was removed assert ref.stage is s assert s.has_ref assert stage_factory.stage_names['stage'] is s assert s in stage_factory.stages assert 'stage2' not in stage_factory.stage_names assert s2 not in stage_factory.stages stage_factory.clear_stages(force=True) assert ref.stage is s assert s.has_ref assert 'stage' not in stage_factory.stage_names assert s not in stage_factory.stages stage_factory.return_stage_ref(ref) assert not s.has_ref
def test_clear_stages(stage_factory: StageFactoryBase): assert not stage_factory.stages assert not stage_factory.stage_names stage = SerialAllStage(stage_factory=stage_factory, show_in_gui=False) stage.create_stage() stage = stage.stage stage2 = SerialAllStage(stage_factory=stage_factory, show_in_gui=False) stage2.create_stage() stage2 = stage2.stage stage_factory.add_stage(stage) stage_factory.add_stage(stage2) assert stage_factory.stages == [stage, stage2] stage_factory.test_changes_count = 0 stage_factory.clear_stages() assert not stage_factory.stages assert not stage_factory.stage_names