Skip to content

Commit f7b1965

Browse files
Accept materialized posets for extension counts
1 parent 21e916d commit f7b1965

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

tests/composition/runtime/test_poset_capabilities.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,34 @@ def test_materialized_poset_is_directly_consumable_by_width(
157157
)
158158

159159

160+
def test_materialized_poset_is_directly_consumable_by_linear_extension_count(
161+
fresh_complete_runtime,
162+
) -> None:
163+
materialized = fresh_complete_runtime.core.capabilities.invoke(
164+
CapabilityRequest(
165+
capability_id="poset.finite.materialize",
166+
input=_DIAMOND,
167+
)
168+
)
169+
result = fresh_complete_runtime.core.capabilities.invoke(
170+
CapabilityRequest(
171+
capability_id="poset.linear_extensions.count",
172+
input={"poset_artifact_uri": materialized.output["result_uri"]},
173+
)
174+
)
175+
176+
assert result.execution.status is ExecutionStatus.COMPLETED
177+
assert _result_payload(fresh_complete_runtime, result)["count"] == 2
178+
assert materialized.output["result_uri"] in result.artifact_uris
179+
descriptors = {
180+
descriptor.capability_id: descriptor
181+
for descriptor in fresh_complete_runtime.core.capabilities.catalog().capabilities
182+
}
183+
assert descriptors["poset.finite.materialize"].produced_artifact_types == (
184+
descriptors["poset.linear_extensions.count"].accepted_artifact_types
185+
)
186+
187+
160188
def test_width_rejects_an_incompatible_artifact_before_writes(
161189
fresh_complete_runtime,
162190
) -> None:

0 commit comments

Comments
 (0)