Skip to content

Commit 15eb048

Browse files
committed
project types test scenarios from event storming now working
1 parent 83e764b commit 15eb048

3 files changed

Lines changed: 19 additions & 18 deletions

File tree

tests/smartschedule/planning/test_standard_waterfall.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from datetime import datetime, timedelta
22
from typing import Final
33

4-
import pytest
5-
64
from smartschedule.availability.resource_id import ResourceId
75
from smartschedule.planning.demand import Demand
86
from smartschedule.planning.demands import Demands
@@ -22,11 +20,10 @@ class TestStandardWaterfall:
2220
RESOURCE_1: Final = ResourceId.new_one()
2321
RESOURCE_2: Final = ResourceId.new_one()
2422
RESOURCE_4: Final = ResourceId.new_one()
25-
JAN_1_2: Final = TimeSlot(datetime(2020, 1, 1), datetime(2020, 1, 2))
26-
JAN_2_5: Final = TimeSlot(datetime(2020, 1, 2), datetime(2020, 1, 5))
27-
JAN_2_12: Final = TimeSlot(datetime(2020, 1, 2), datetime(2020, 1, 12))
23+
JAN_11_12: Final = TimeSlot(datetime(2020, 1, 11), datetime(2020, 1, 12))
24+
JAN_1_4: Final = TimeSlot(datetime(2020, 1, 1), datetime(2020, 1, 4))
25+
JAN_1_11: Final = TimeSlot(datetime(2020, 1, 1), datetime(2020, 1, 11))
2826

29-
@pytest.mark.skip("Not implemented yet")
3027
def test_waterfall_project_process(self, planning_facade: PlanningFacade) -> None:
3128
project_id = planning_facade.add_new_project("waterfall")
3229

@@ -66,9 +63,9 @@ def test_waterfall_project_process(self, planning_facade: PlanningFacade) -> Non
6663

6764
schedule = planning_facade.load(project_id).schedule
6865
schedule_assert = ScheduleAssert(schedule)
69-
# schedule_assert.assert_has_stage("Stage1").assert_with_slot(self.JAN_1_2)
70-
schedule_assert.assert_has_stage("Stage2").assert_with_slot(self.JAN_2_5)
71-
schedule_assert.assert_has_stage("Stage3").assert_with_slot(self.JAN_2_12)
66+
schedule_assert.assert_has_stage("Stage1").assert_with_slot(self.JAN_11_12)
67+
schedule_assert.assert_has_stage("Stage2").assert_with_slot(self.JAN_1_4)
68+
schedule_assert.assert_has_stage("Stage3").assert_with_slot(self.JAN_1_11)
7269

7370
def _verify_risk_during_planning(self, project_id: ProjectId) -> None:
7471
pass

tests/smartschedule/planning/test_time_critical_waterfall.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from datetime import datetime, timedelta
22
from typing import Final
33

4-
import pytest
5-
64
from smartschedule.planning.parallelization.stage import Stage
75
from smartschedule.planning.planning_facade import PlanningFacade
86
from smartschedule.shared.timeslot.time_slot import TimeSlot
@@ -16,7 +14,6 @@ class TestTimeCriticalWaterfall:
1614
JAN_1_3: Final = TimeSlot(datetime(2020, 1, 1), datetime(2020, 1, 3))
1715
JAN_1_4: Final = TimeSlot(datetime(2020, 1, 1), datetime(2020, 1, 4))
1816

19-
@pytest.mark.skip("Not implemented yet")
2017
def test_time_critical_waterfall_project_process(
2118
self, planning_facade: PlanningFacade
2219
) -> None:

tests/smartschedule/planning/test_vision.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from datetime import datetime, timedelta
22
from typing import Final
33

4-
import pytest
5-
64
from smartschedule.availability.resource_id import ResourceId
75
from smartschedule.planning.demand import Demand
86
from 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

Comments
 (0)