FuncPipe Test Guide¶
Guide Maps¶
graph LR
family["Python Programming"]
program["Python Functional Programming"]
guide["Capstone docs"]
section["TEST_GUIDE"]
page["FuncPipe Test Guide"]
proof["Proof route"]
family --> program --> guide --> section --> page
page -.checks against.-> proof
flowchart LR
claim["State a design claim"] --> group["Choose the closest test group"]
group --> files["Read a few representative tests"]
files --> owner["Name the package or boundary under review"]
owner --> command["Run the proof route"]
Use this guide when you want the test suite to function as a review map instead of a large undifferentiated tree.
Test groups¶
| Group | Paths | What it proves |
|---|---|---|
| Algebra and laws | tests/unit/fp/laws/, tests/unit/result/, tests/unit/tree/ |
the reusable functional containers and laws behave as the course claims |
| Functional toolkit | tests/unit/fp/, tests/unit/streaming/ |
pure helpers, stream combinators, and local reasoning rules stay stable |
| Domain and async behavior | tests/unit/domain/ |
retries, transactions, async scheduling, and effect descriptions remain explicit |
| Pipeline and policy surfaces | tests/unit/pipelines/, tests/unit/policies/ |
configured pipelines and runtime policies stay reviewable instead of hidden |
| Application model | tests/unit/rag/, tests/unit/rag/domain/ |
RAG-specific assembly, stages, and domain values preserve their contracts |
| Edges and interop | tests/unit/boundaries/, tests/unit/infra/adapters/, tests/unit/interop/ |
adapters, serialization, storage, and compatibility helpers stay at the edge |
Suggested reading order¶
tests/unit/fp/laws/tests/unit/fp/,tests/unit/result/, andtests/unit/streaming/tests/unit/rag/andtests/unit/rag/domain/tests/unit/pipelines/andtests/unit/policies/tests/unit/domain/tests/unit/boundaries/,tests/unit/infra/adapters/, andtests/unit/interop/
That order keeps semantic floor before orchestration and keeps the outer edges last.
Review questions¶
- Which tests here prove laws or invariants rather than only a happy path?
- Which package should stay unchanged if this test still passes?
- Which proof route should you run after reading this group:
make test,make tour, ormake proof? - Which future change would require a new test group instead of another test in the current folder?