Skip to content

Commit 891c46f

Browse files
committed
UPD(OP): allow Operations WITHOUT NEEDS
1 parent ccb8fc9 commit 891c46f

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

graphtik/op.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ def reparse_operation_data(name, needs, provides):
2424
needs = aslist(needs, "needs", allowed_types=(list, tuple))
2525
if not all(isinstance(i, str) for i in needs):
2626
raise ValueError(f"All `needs` must be str, got: {needs!r}")
27-
if not sum(1 for i in needs if not isinstance(i, optional)):
28-
raise ValueError(
29-
f"At least 1 non-optional `needs` must be given, got: {needs!r}"
30-
)
3127

3228
# Allow single value for provides parameter
3329
provides = aslist(provides, "provides", allowed_types=(list, tuple))

test/test_op.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,18 @@ def test_operation_repr(opname, opneeds, opprovides):
4242
@pytest.mark.parametrize(
4343
"opargs, exp",
4444
[
45-
((None, None, None), ValueError("At least 1 non-optional")),
45+
((None, None, None), (None, [], [])),
4646
## Check name
4747
(("_", "a", ("A",)), ("_", ["a"], ("A",))),
4848
(((), ("a",), None), ((), ("a",), [])),
4949
((("a",), "a", "b"), (("a",), ["a"], ["b"])),
50-
((("a",), "a", "b"), (("a",), ["a"], ["b"])),
50+
((("a",), None, None), (("a",), [], [])),
5151
## Check needs
52+
(((), (), None), ((), (), [])),
53+
(((), [], None), ((), [], [])),
5254
(("", object(), None), ValueError("Argument 'needs' not an iterable")),
5355
(("", [None], None), ValueError("All `needs` must be str")),
5456
(("", [()], None), ValueError("All `needs` must be str")),
55-
(("", optional("a"), None), ValueError("At least 1 non-optional `needs`")),
56-
(("", [optional("a")], None), ValueError("At least 1 non-optional `needs`")),
5757
## Check provides
5858
(((), "a", ()), ((), ["a"], ())),
5959
(((), "a", []), ((), ["a"], [])),

0 commit comments

Comments
 (0)