mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-09 21:53:40 +00:00
massive refactor of the sequence module
This commit is contained in:
@@ -57,7 +57,7 @@ Scenario: Enable pset editing - work schedule
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "{ifc}.by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I set "scene.WorkSchedulePsetProperties.pset_name" to "Pset_WorkControlCommon"
|
||||
And I press "bim.add_pset(obj_type='WorkSchedule')"
|
||||
And the variable "pset" is "{ifc}.by_type('IfcPropertySet')[-1].id()"
|
||||
@@ -90,7 +90,7 @@ Scenario: Enable pset editing - task
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And I set "scene.TaskPsetProperties.qto_name" to "Qto_TaskBaseQuantities"
|
||||
And I press "bim.add_qto(obj_type='Task')"
|
||||
|
||||
@@ -4,13 +4,225 @@ Feature: Sequence
|
||||
Scenario: Add work plan
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add Work schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Remove work plan
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
When I press "bim.remove_work_plan(work_plan={work_plan})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Remove work schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
When I press "bim.remove_work_schedule(work_schedule={work_schedule})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Enable Editing Work Plan
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
When I press "bim.enable_editing_work_plan(work_plan={work_plan})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit Work Plan
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
And I press "bim.enable_editing_work_plan(work_plan={work_plan})"
|
||||
And I set "scene.BIMWorkPlanProperties.work_plan_attributes.get('Name').string_value" to "FooPlan"
|
||||
When I press "bim.edit_work_plan()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit Work Schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule(work_schedule={work_schedule})"
|
||||
And I set "scene.BIMWorkScheduleProperties.work_schedule_attributes.get('Name').string_value" to "FooSchedule"
|
||||
When I press "bim.edit_work_schedule()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Disable Editing Work Plan
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
And I press "bim.enable_editing_work_plan_schedules(work_plan={work_plan})"
|
||||
When I press "bim.disable_editing_work_plan"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Assign work schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
And I press "bim.enable_editing_work_plan_schedules(work_plan={work_plan})"
|
||||
And I press "bim.assign_work_schedule(work_plan={work_plan}, work_schedule={work_schedule})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Unassign work schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
And I press "bim.enable_editing_work_plan_schedules(work_plan={work_plan})"
|
||||
And I press "bim.assign_work_schedule(work_plan={work_plan}, work_schedule={work_schedule})"
|
||||
And I press "bim.unassign_work_schedule(work_plan={work_plan}, work_schedule={work_schedule})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Delete assigned work schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
And I press "bim.enable_editing_work_plan_schedules(work_plan={work_plan})"
|
||||
And I press "bim.assign_work_schedule(work_plan={work_plan}, work_schedule={work_schedule})"
|
||||
When I press "bim.remove_work_schedule(work_schedule={work_schedule})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Remove Assigned work schedule
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
When I press "bim.add_work_plan"
|
||||
And the variable "work_plan" is "IfcStore.get_file().by_type('IfcWorkPlan')[0].id()"
|
||||
And I press "bim.enable_editing_work_plan_schedules(work_plan={work_plan})"
|
||||
When I press "bim.assign_work_schedule(work_plan={work_plan}, work_schedule={work_schedule})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add work calendar
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Remove work calendar
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.remove_work_calendar(work_calendar={work_calendar})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit work calendar attributes
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar(work_calendar={work_calendar})"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_calendar_attributes.get('Name').string_value" to "FooCalendar"
|
||||
When I press "bim.edit_work_calendar()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Enable editing calendar times
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add calendar Working Time
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="WorkingTimes")"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add calendar Exception Time
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
And I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="ExceptionTimes")"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Enable editing Working Time Attributes
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="WorkingTimes")"
|
||||
And the variable "work_time" is "IfcStore.get_file().by_type('IfcWorkTime')[0].id()"
|
||||
When I press "bim.enable_editing_work_time(work_time={work_time})"
|
||||
|
||||
Scenario: Edit Working Time Start and End Period
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type='WorkingTimes')"
|
||||
And the variable "work_time" is "IfcStore.get_file().by_type('IfcWorkTime')[0].id()"
|
||||
When I press "bim.enable_editing_work_time(work_time={work_time})"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_time_attributes.get('Start').string_value" to "2021-01-01"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_time_attributes.get('Finish').string_value" to "2022-01-01"
|
||||
When I press "bim.edit_work_time()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Add Working Time Period
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type='WorkingTimes')"
|
||||
And the variable "work_time" is "IfcStore.get_file().by_type('IfcWorkTime')[0].id()"
|
||||
When I press "bim.enable_editing_work_time(work_time={work_time})"
|
||||
When I press "bim.assign_recurrence_pattern(work_time={work_time}, recurrence_type='DAILY')"
|
||||
And the variable "recurrence_pattern" is "IfcStore.get_file().by_type('IfcRecurrencePattern')[0].id()"
|
||||
And I set "scene.BIMWorkCalendarProperties.start_time" to "9AM"
|
||||
And I set "scene.BIMWorkCalendarProperties.end_time" to "1PM"
|
||||
When I press "bim.add_time_period(recurrence_pattern={recurrence_pattern})"
|
||||
When I press "bim.edit_work_time()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit Working Time start finish and time period
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type='WorkingTimes')"
|
||||
And the variable "work_time" is "IfcStore.get_file().by_type('IfcWorkTime')[0].id()"
|
||||
When I press "bim.enable_editing_work_time(work_time={work_time})"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_time_attributes.get('Start').string_value" to "2021-01-01"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_time_attributes.get('Finish').string_value" to "2022-01-01"
|
||||
When I press "bim.assign_recurrence_pattern(work_time={work_time}, recurrence_type='DAILY')"
|
||||
And the variable "recurrence_pattern" is "IfcStore.get_file().by_type('IfcRecurrencePattern')[0].id()"
|
||||
And I set "scene.BIMWorkCalendarProperties.start_time" to "9AM"
|
||||
And I set "scene.BIMWorkCalendarProperties.end_time" to "1PM"
|
||||
When I press "bim.add_time_period(recurrence_pattern={recurrence_pattern})"
|
||||
When I press "bim.edit_work_time()"
|
||||
Then nothing happens
|
||||
|
||||
|
||||
Scenario: Unassign Calendar to task
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task_calendar(task={task})"
|
||||
And I press "bim.edit_task_calendar(work_calendar={work_calendar}, task={task})"
|
||||
When I press "bim.remove_task_calendar(work_calendar={work_calendar}, task={task})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Enable editing task
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.enable_editing_task(task={task})"
|
||||
@@ -20,7 +232,7 @@ Scenario: Copy task attribute
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
@@ -30,11 +242,86 @@ Scenario: Copy task attribute
|
||||
And I press "bim.copy_task_attribute(name='Description')"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Unassign task Successor
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
When I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
And I press "bim.enable_editing_task(task={nested_task_one})"
|
||||
And I press "bim.assign_successor(task={nested_task_two})"
|
||||
When I press "bim.unassign_successor(task={nested_task_two})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit time Lag
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
When I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
And I press "bim.enable_editing_task(task={nested_task_one})"
|
||||
When I press "bim.assign_successor(task={nested_task_two})"
|
||||
And the variable "rel_sequence" is "IfcStore.get_file().by_type('IfcRelSequence')[0].id()"
|
||||
When I press "bim.assign_lag_time(sequence={rel_sequence})"
|
||||
And the variable "lag_time" is "IfcStore.get_file().by_type('IfcLagTime')[0].id()"
|
||||
And I press "bim.enable_editing_sequence_lag_time(sequence={rel_sequence}, lag_time={lag_time})"
|
||||
And I set "scene.BIMWorkScheduleProperties.lag_time_attributes.get('LagValue').string_value" to "P5D"
|
||||
When I press "bim.edit_sequence_lag_time(lag_time={lag_time})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Unassign time Lag
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
When I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
And I press "bim.enable_editing_task(task={nested_task_one})"
|
||||
When I press "bim.assign_successor(task={nested_task_two})"
|
||||
And the variable "rel_sequence" is "IfcStore.get_file().by_type('IfcRelSequence')[0].id()"
|
||||
When I press "bim.assign_lag_time(sequence={rel_sequence})"
|
||||
And the variable "lag_time" is "IfcStore.get_file().by_type('IfcLagTime')[0].id()"
|
||||
When I press "bim.unassign_lag_time(sequence={rel_sequence})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit Sequence Relationship
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
When I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
And I press "bim.enable_editing_task(task={nested_task_one})"
|
||||
When I press "bim.assign_successor(task={nested_task_two})"
|
||||
And the variable "rel_sequence" is "IfcStore.get_file().by_type('IfcRelSequence')[0].id()"
|
||||
And I press "bim.enable_editing_sequence_attributes(sequence={rel_sequence})"
|
||||
And I set "scene.BIMWorkScheduleProperties.sequence_attributes.get('SequenceType').enum_value" to "START_START"
|
||||
When I press "bim.edit_sequence_attributes()"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: See the current frame date as text
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_start" to "01/01/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_finish" to "01/02/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.speed_types" to "FRAME_SPEED"
|
||||
@@ -50,7 +337,7 @@ Scenario: Animate the construction of a wall
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task(task={task})"
|
||||
@@ -65,7 +352,7 @@ Scenario: Animate the construction of a wall
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And the object "IfcWall/Cube" is selected
|
||||
And I press "bim.assign_product(task={task}, relating_product='')"
|
||||
And I press "bim.assign_product(task={task})"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_start" to "01/01/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_finish" to "01/02/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.speed_types" to "FRAME_SPEED"
|
||||
@@ -86,7 +373,7 @@ Scenario: Animate the demolition of a wall
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task(task={task})"
|
||||
@@ -101,7 +388,7 @@ Scenario: Animate the demolition of a wall
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And the object "IfcWall/Cube" is selected
|
||||
And I press "bim.assign_product(task={task}, relating_product='')"
|
||||
And I press "bim.assign_product(task={task}, relating_product=0)"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_start" to "01/01/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_finish" to "01/02/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.speed_types" to "FRAME_SPEED"
|
||||
@@ -125,7 +412,7 @@ Scenario: Animate the operation of a wall
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task(task={task})"
|
||||
@@ -140,7 +427,7 @@ Scenario: Animate the operation of a wall
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And the object "IfcWall/Cube" is selected
|
||||
And I press "bim.assign_product(task={task}, relating_product='')"
|
||||
And I press "bim.assign_product(task={task}, relating_product=0)"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_start" to "01/01/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_finish" to "01/02/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.speed_types" to "FRAME_SPEED"
|
||||
@@ -158,7 +445,7 @@ Scenario: Animate the movement of a wall
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task(task={task})"
|
||||
@@ -174,13 +461,13 @@ Scenario: Animate the movement of a wall
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And the object "IfcWall/ToObject" is selected
|
||||
And I press "bim.assign_product(task={task}, relating_product='')"
|
||||
And I press "bim.assign_product(task={task}, relating_product=0)"
|
||||
When I add a cube
|
||||
And I rename the object "Cube" to "FromObject"
|
||||
And the object "FromObject" is selected
|
||||
And I press "bim.assign_class"
|
||||
And the object "IfcWall/FromObject" is selected
|
||||
And I press "bim.assign_process(task={task}, related_object_type='PRODUCT', related_object='')"
|
||||
And I press "bim.assign_process(task={task}, related_object_type='PRODUCT', related_object=0)"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_start" to "01/01/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_finish" to "01/02/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.speed_types" to "FRAME_SPEED"
|
||||
@@ -212,7 +499,7 @@ Scenario: Animate the consumption of a wall
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task_time(task={task})"
|
||||
@@ -224,7 +511,7 @@ Scenario: Animate the consumption of a wall
|
||||
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
|
||||
And I press "bim.assign_class"
|
||||
And the object "IfcWall/Cube" is selected
|
||||
And I press "bim.assign_process(task={task}, related_object_type='PRODUCT', related_object='')"
|
||||
And I press "bim.assign_process(task={task}, related_object_type='PRODUCT', related_object=0)"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_start" to "01/01/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.visualisation_finish" to "01/02/21"
|
||||
And I set "scene.BIMWorkScheduleProperties.speed_types" to "FRAME_SPEED"
|
||||
@@ -243,3 +530,135 @@ Scenario: Animate the consumption of a wall
|
||||
Then "scene.objects.get('IfcWall/Cube').color" is "[0.0, 0.0, 0.0, 1]"
|
||||
Then "scene.objects.get('IfcWall/Cube').hide_viewport" is "True"
|
||||
Then "scene.objects.get('IfcWall/Cube').hide_render" is "True"
|
||||
|
||||
|
||||
Scenario: Generate Gantt Chart
|
||||
Given an empty IFC project
|
||||
And I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
And I press "bim.enable_editing_task(task={task})"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_attributes.get('PredefinedType').enum_value" to "CONSTRUCTION"
|
||||
And I press "bim.edit_task"
|
||||
And I press "bim.enable_editing_task_time(task={task})"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleStart').string_value" to "2021-01-02"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleFinish').string_value" to "2021-01-06"
|
||||
And I press "bim.edit_task_time"
|
||||
And I press "bim.generate_gantt_chart(work_schedule={work_schedule})"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Edit task with calendar
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_three" is "IfcStore.get_file().by_type('IfcTask')[3].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="WorkingTimes")"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="ExceptionTimes")"
|
||||
And I press "bim.disable_editing_work_calendar"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_one})"
|
||||
And I press "bim.assign_successor(task={nested_task_two})"
|
||||
And I press "bim.disable_editing_task"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_three})"
|
||||
And I press "bim.assign_predecessor(task={nested_task_two})"
|
||||
And I press "bim.disable_editing_task"
|
||||
And I press "bim.enable_editing_task_time(task={nested_task_three})"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleStart').string_value" to "2021-01-02"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleFinish').string_value" to "2021-01-06"
|
||||
And I press "bim.edit_task_time"
|
||||
And I press "bim.enable_editing_task_calendar(task={task})"
|
||||
And I press "bim.edit_task_calendar(work_calendar={work_calendar}, task={task})"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_one})"
|
||||
And I press "bim.disable_editing_task()"
|
||||
Then nothing happens
|
||||
|
||||
|
||||
Scenario: Assign task calendar with Working Time
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_three" is "IfcStore.get_file().by_type('IfcTask')[3].id()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="WorkingTimes")"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="ExceptionTimes")"
|
||||
And I press "bim.disable_editing_work_calendar"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_one})"
|
||||
And I press "bim.assign_successor(task={nested_task_two})"
|
||||
And I press "bim.disable_editing_task"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_three})"
|
||||
And I press "bim.assign_predecessor(task={nested_task_two})"
|
||||
And I press "bim.disable_editing_task"
|
||||
And I press "bim.enable_editing_task_calendar(task={task})"
|
||||
And I press "bim.edit_task_calendar(work_calendar={work_calendar}, task={nested_task_three})"
|
||||
And I press "bim.disable_editing_task()"
|
||||
And I press "bim.enable_editing_task_time(task={nested_task_three})"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleStart').string_value" to "2021-01-02"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleFinish').string_value" to "2021-01-06"
|
||||
# And I press "bim.edit_task_time"
|
||||
Then nothing happens
|
||||
|
||||
Scenario: Assign task calendar with no working time
|
||||
Given an empty IFC project
|
||||
When I press "bim.add_work_calendar"
|
||||
And the variable "work_calendar" is "IfcStore.get_file().by_type('IfcWorkCalendar')[0].id()"
|
||||
When I press "bim.add_work_schedule"
|
||||
And the variable "work_schedule" is "IfcStore.get_file().by_type('IfcWorkSchedule')[0].id()"
|
||||
And I press "bim.enable_editing_work_schedule_tasks(work_schedule={work_schedule})"
|
||||
And I press "bim.add_summary_task(work_schedule={work_schedule})"
|
||||
And the variable "task" is "IfcStore.get_file().by_type('IfcTask')[0].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_one" is "IfcStore.get_file().by_type('IfcTask')[1].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_two" is "IfcStore.get_file().by_type('IfcTask')[2].id()"
|
||||
When I press "bim.add_task(task={task})"
|
||||
And the variable "nested_task_three" is "IfcStore.get_file().by_type('IfcTask')[3].id()"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_one})"
|
||||
And I press "bim.assign_successor(task={nested_task_two})"
|
||||
And I press "bim.disable_editing_task"
|
||||
And I press "bim.enable_editing_task_sequence(task={nested_task_three})"
|
||||
And I press "bim.assign_predecessor(task={nested_task_two})"
|
||||
And I press "bim.disable_editing_task"
|
||||
And I press "bim.enable_editing_task_calendar(task={task})"
|
||||
And I press "bim.edit_task_calendar(work_calendar={work_calendar}, task={nested_task_three})"
|
||||
And I press "bim.disable_editing_task()"
|
||||
When I press "bim.enable_editing_work_calendar_times(work_calendar={work_calendar})"
|
||||
When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="WorkingTimes")"
|
||||
And the variable "work_time" is "IfcStore.get_file().by_type('IfcWorkTime')[0].id()"
|
||||
When I press "bim.enable_editing_work_time(work_time={work_time})"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_time_attributes.get('Start').string_value" to "01-08-2021"
|
||||
And I set "scene.BIMWorkCalendarProperties.work_time_attributes.get('Finish').string_value" to "01-08-2022"
|
||||
When I press "bim.assign_recurrence_pattern(work_time={work_time}, recurrence_type='DAILY')"
|
||||
And the variable "recurrence_pattern" is "IfcStore.get_file().by_type('IfcRecurrencePattern')[0].id()"
|
||||
And I set "scene.BIMWorkCalendarProperties.start_time" to "9AM"
|
||||
And I set "scene.BIMWorkCalendarProperties.end_time" to "1PM"
|
||||
When I press "bim.add_time_period(recurrence_pattern={recurrence_pattern})"
|
||||
And I press "bim.edit_work_time"
|
||||
# When I press "bim.add_work_time(work_calendar={work_calendar}, time_type="ExceptionTimes")"
|
||||
And I press "bim.disable_editing_work_calendar"
|
||||
And I press "bim.enable_editing_task_time(task={nested_task_three})"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleStart').string_value" to "2021-01-02"
|
||||
And I set "scene.BIMWorkScheduleProperties.task_time_attributes.get('ScheduleFinish').string_value" to "2021-01-06"
|
||||
And I press "bim.edit_task_time"
|
||||
Then nothing happens
|
||||
Reference in New Issue
Block a user