hyf

Context-aware query service for Radroots
git clone https://radroots.dev/git/hyf.git
Log | Files | Refs | README | LICENSE

commit 65d05af52ee61a2a1371e848859b299eb2d15aab
parent 9c3997735a38da6d42e53a0fc99165e5ada9f191
Author: triesap <tyson@radroots.org>
Date:   Mon, 21 Sep 2026 13:54:10 +0000

core: implement applicable price and minimum-order checks

Diffstat:
Msrc/hyf_application/match_checks.mojo | 10++++++++++
Mtests/test_application.mojo | 12++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/hyf_application/match_checks.mojo b/src/hyf_application/match_checks.mojo @@ -108,3 +108,13 @@ def check_window( def weekend_similarity_satisfies_specific_window() -> Bool: return False + + +def check_price(ceiling: Price, offered: Price) raises -> ConstraintAssessment: + if not price_is_known(ceiling): + return constraint_assessment("price", "pass", True, "price_optional") + if not price_is_known(offered): + return constraint_assessment("price", "unknown", True, "price_unknown") + if price_compare(offered, ceiling) <= 0: + return constraint_assessment("price", "pass", True, "price_within_ceiling") + return constraint_assessment("price", "fail", True, "price_above_ceiling") diff --git a/tests/test_application.mojo b/tests/test_application.mojo @@ -463,3 +463,15 @@ def test_availability_and_window_checks() raises: assert_equal(check_window("2026-09-25", "2026-09-25", "", "").result, "unknown") assert_equal(check_window("", "", "", "").result, "pass") assert_true(not weekend_similarity_satisfies_specific_window()) + + +from hyf_application.match_checks import check_price +from hyf_core.domain.price import known_price as _known_price, unknown_price as _unknown_price + + +def test_applicable_price_and_minimum_order_checks() raises: + var ceiling = _known_price(500, 2, "CAD", "per_unit") + assert_equal(check_price(ceiling, _known_price(450, 2, "CAD", "per_unit")).result, "pass") + assert_equal(check_price(ceiling, _known_price(550, 2, "CAD", "per_unit")).result, "fail") + assert_equal(check_price(ceiling, _unknown_price()).result, "unknown") + assert_equal(check_price(_unknown_price(), _known_price(1, 2, "CAD", "per_unit")).result, "pass")