Coverage for test/test_scenario.py: 100%
22 statements
« prev ^ index » next coverage.py v7.3.0, created at 2023-08-25 16:44 +0200
« prev ^ index » next coverage.py v7.3.0, created at 2023-08-25 16:44 +0200
1"""Test the Scenario class"""
3import pytest
5import manyworlds as mw
8@pytest.fixture(scope="module")
9def root_scenario():
10 """load a representative root scenario"""
11 forest = mw.ScenarioForest.from_file("test/fixtures/in/scenario_forest.feature")
12 return forest.find("View users")
15@pytest.fixture(scope="module")
16def leaf_scenario():
17 """load a representative leaf scenario"""
18 forest = mw.ScenarioForest.from_file("test/fixtures/in/scenario_forest.feature")
19 return forest.find(
20 "View users",
21 "Bulk operations",
22 "Select user",
23 "Select multiple users",
24 "Bulk deactivate users",
25 "Confirm bulk deactivation of users",
26 )
29def test_repr(root_scenario, leaf_scenario):
30 assert (
31 root_scenario.__repr__() == "<Scenario: View users "
32 "(1 prerequisites, 1 actions, 1 assertions)>"
33 )
34 assert (
35 leaf_scenario.__repr__() == "<Scenario: Confirm bulk deactivation of users "
36 "(0 prerequisites, 1 actions, 2 assertions)>"
37 )
40def test_level(root_scenario, leaf_scenario):
41 assert root_scenario.level() == 1
42 assert leaf_scenario.level() == 6
45def test_ancestors(root_scenario, leaf_scenario):
46 assert len(root_scenario.ancestors()) == 0
47 assert len(leaf_scenario.ancestors()) == 5
50def test_index(root_scenario, leaf_scenario):
51 assert root_scenario.index() == 0
52 assert leaf_scenario.index() == 8