Skip to content

Commit

Permalink
Improve readability
Browse files Browse the repository at this point in the history
  • Loading branch information
Aonokishi committed Sep 1, 2024
1 parent dd51df5 commit b086660
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 19 deletions.
2 changes: 1 addition & 1 deletion cfmtoolbox/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class Constraint:
second_cardinality: Cardinality

def __str__(self) -> str:
return f"{self.first_feature.name} -> {self.second_feature.name}"
return f"{self.first_feature.name} => {self.second_feature.name}"


@dataclass
Expand Down
16 changes: 5 additions & 11 deletions cfmtoolbox/plugins/debug.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,25 @@ def stringify_list(name: str, input: list) -> str:
return f"- {name}: {stringified_input} \n"


def stringfy_cfm(cfm: CFM | None) -> str:
def stringify_cfm(cfm: CFM | None) -> str:
formatted_cfm = "CFM:\n"

if cfm is None:
return formatted_cfm + "None"

for feature in cfm.features:
formatted_cfm += f"{str(feature)}: instance [{str(feature.instance_cardinality)}], group type [{str(feature.group_type_cardinality)}], group instance [{str(feature.group_instance_cardinality)}]\n"
formatted_cfm += f"{feature}: instance [{feature.instance_cardinality}], group type [{feature.group_type_cardinality}], group instance [{feature.group_instance_cardinality}]\n"
formatted_cfm += stringify_list("parents", feature.parents)
formatted_cfm += stringify_list("children", feature.children) + "\n"

required_constraints = stringify_list(
"Required constraints", cfm.require_constraints
)
excluded_constraints = stringify_list(
"Excluded constraints", cfm.exclude_constraints
)

formatted_cfm += required_constraints + excluded_constraints
formatted_cfm += stringify_list("Require constraints", cfm.require_constraints)
formatted_cfm += stringify_list("Exclude constraints", cfm.exclude_constraints)

return formatted_cfm


@app.command()
def debug(model: CFM | None) -> CFM | None:
print(stringfy_cfm(model))
print(stringify_cfm(model))

return model
13 changes: 7 additions & 6 deletions tests/plugins/test_debug.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import cfmtoolbox.plugins.debug as debug_plugin
from cfmtoolbox.models import CFM, Cardinality, Constraint, Feature, Interval
from cfmtoolbox.plugins.debug import debug, stringfy_cfm, stringify_list
from cfmtoolbox.plugins.debug import debug, stringify_cfm, stringify_list
from cfmtoolbox.plugins.featureide_import import import_featureide
from cfmtoolbox.toolbox import CFMToolbox

Expand Down Expand Up @@ -60,8 +60,8 @@ def test_debug(capsys):
- parents: Veggies
- children:
- Required constraints: Sourdough -> Cheddar, Tomato -> Gouda, Swiss -> Lettuce
- Excluded constraints: Wheat -> Tomato"""
- Require constraints: Sourdough => Cheddar, Tomato => Gouda, Swiss => Lettuce
- Exclude constraints: Wheat => Tomato"""

path = Path("tests/data/sandwich.xml")
cfm = import_featureide(path.read_bytes())
Expand Down Expand Up @@ -91,8 +91,8 @@ def test_stringify_cfm():
- parents:
- children:
- Required constraints: Sandwich -> Sandwich
- Excluded constraints: """
- Require constraints: Sandwich => Sandwich
- Exclude constraints:"""

feature = Feature(
"Sandwich",
Expand All @@ -108,4 +108,5 @@ def test_stringify_cfm():
[Constraint(True, feature, Cardinality([]), feature, Cardinality([]))],
[],
)
assert cfm_str in stringfy_cfm(cfm)
print(stringify_cfm(cfm))
assert cfm_str in stringify_cfm(cfm)
2 changes: 1 addition & 1 deletion tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def test_constraint_string():
cardinality = Cardinality([])
feature = Feature("Cheese", cardinality, cardinality, cardinality, [], [])
constraint = Constraint(True, feature, cardinality, feature, cardinality)
assert str(constraint) == "Cheese -> Cheese"
assert str(constraint) == "Cheese => Cheese"


def test_cardinality_is_valid():
Expand Down

0 comments on commit b086660

Please sign in to comment.