11from datetime import datetime , timedelta
22from typing import Final
33
4- import pytest
5-
64from smartschedule .availability .resource_id import ResourceId
75from smartschedule .planning .demand import Demand
86from smartschedule .planning .demands import Demands
@@ -21,11 +19,13 @@ class TestVision:
2119 JAN_1_2 : Final = TimeSlot (datetime (2020 , 1 , 1 ), datetime (2020 , 1 , 2 ))
2220 JAN_2_5 : Final = TimeSlot (datetime (2020 , 1 , 2 ), datetime (2020 , 1 , 5 ))
2321 JAN_2_12 : Final = TimeSlot (datetime (2020 , 1 , 2 ), datetime (2020 , 1 , 12 ))
22+ JAN_1_4 : Final = TimeSlot (datetime (2020 , 1 , 1 ), datetime (2020 , 1 , 4 ))
23+ JAN_1_11 : Final = TimeSlot (datetime (2020 , 1 , 1 ), datetime (2020 , 1 , 11 ))
24+ JAN_11_12 : Final = TimeSlot (datetime (2020 , 1 , 11 ), datetime (2020 , 1 , 12 ))
2425 RESOURCE_1 : Final = ResourceId .new_one ()
2526 RESOURCE_2 : Final = ResourceId .new_one ()
2627 RESOURCE_4 : Final = ResourceId .new_one ()
2728
28- @pytest .mark .xfail (reason = "Not implemented yet" , strict = True )
2929 def test_vision_validation_process (self , planning_facade : PlanningFacade ) -> None :
3030 project_id = planning_facade .add_new_project ("vision" )
3131 java = Demands .of (Demand .for_ (Capability .skill ("JAVA" )))
@@ -69,9 +69,16 @@ def test_vision_validation_process(self, planning_facade: PlanningFacade) -> Non
6969
7070 schedule = planning_facade .load (project_id ).schedule
7171 schedule_assert = ScheduleAssert (schedule )
72- schedule_assert .assert_has_stage ("Stage 1" ).assert_with_slot (self .JAN_1_2 )
73- schedule_assert .assert_has_stage ("Stage 2" ).assert_with_slot (self .JAN_2_5 )
74- schedule_assert .assert_has_stage ("Stage 3" ).assert_with_slot (self .JAN_2_12 )
72+ project_card = planning_facade .load (project_id )
73+ parallelized_stages = str (project_card .parallelized_stages )
74+ if parallelized_stages == "Stage 1 | Stage 2, Stage 3" :
75+ schedule_assert .assert_has_stage ("Stage 1" ).assert_with_slot (self .JAN_1_2 )
76+ schedule_assert .assert_has_stage ("Stage 2" ).assert_with_slot (self .JAN_2_5 )
77+ schedule_assert .assert_has_stage ("Stage 3" ).assert_with_slot (self .JAN_2_12 )
78+ else :
79+ schedule_assert .assert_has_stage ("Stage 1" ).assert_with_slot (self .JAN_11_12 )
80+ schedule_assert .assert_has_stage ("Stage 2" ).assert_with_slot (self .JAN_1_4 )
81+ schedule_assert .assert_has_stage ("Stage 3" ).assert_with_slot (self .JAN_1_11 )
7582
7683 def _verify_possible_risk_during_planning (
7784 self , project_id : ProjectId , demands : Demands
0 commit comments