def test_setting_reference_tasks_clears_cache(self): f = Flow(name="test") t1 = Task() f.add_task(t1) f._cache[1] = 2 f.set_reference_tasks([t1]) assert 1 not in f._cache
def test_validate_missing_reference_tasks(): f = Flow(name="test") t1 = Task() t2 = Task() f.add_task(t1) f.add_task(t2) f.set_reference_tasks([t1]) f.tasks.remove(t1) with pytest.raises(ValueError) as exc: f.validate() assert "reference tasks are not contained" in str(exc.value).lower()
def test_equality_based_on_reference_tasks(self): f1 = Flow(name="test") f2 = Flow(name="test") t1 = Task() t2 = Task() t3 = Task() for f in [f1, f2]: f.add_edge(t1, t2) f.add_edge(t1, t3) f1.set_reference_tasks([t2]) assert f1 != f2 f2.set_reference_tasks([t2]) assert f1 == f2
def test_key_states_raises_error_if_not_part_of_flow(): f = Flow(name="test") t1 = Task() with pytest.raises(ValueError): f.set_reference_tasks([t1])