def objects_required_for(test_event, timestamp, execution_events): required_objects = [] required_side_effects = [] objects = resolve_dependencies(test_event) while objects: new_objects, new_side_effects = copy_events_over(objects, timestamp, execution_events) required_objects.extend(new_objects) required_side_effects.extend(new_side_effects) objects = list(new_only(objects_affected_by_side_effects(new_side_effects), required_objects)) return required_objects + required_side_effects
def objects_required_for(test_event, timestamp, execution_events): required_objects = [] required_side_effects = [] objects = resolve_dependencies(test_event) while objects: new_objects, new_side_effects = copy_events_over( objects, timestamp, execution_events) required_objects.extend(new_objects) required_side_effects.extend(new_side_effects) objects = list( new_only(objects_affected_by_side_effects(new_side_effects), required_objects)) return required_objects + required_side_effects
def object_usage_counts(timeline): return counted(resolve_dependencies(timeline))
def used_later_than(event, timeline, timestamp): return not isinstance(event, ImmutableObject) and \ event in resolve_dependencies(newer_than(timeline, timestamp))
def used_later_than(event, timeline, timestamp): return not isinstance(event, ImmutableObject) and event in resolve_dependencies(newer_than(timeline, timestamp))