Small changes. Generally, prefer find-x-for to reinventing the wheel.

This commit is contained in:
Simon Brooke 2025-08-21 14:53:54 +01:00
parent 4d3f8eb8b8
commit ae26a393e8
2 changed files with 3 additions and 4 deletions

View file

@ -1,12 +1,10 @@
(ns arboretum.dengine.dengine (ns arboretum.dengine.dengine
(:require (:require
[arboretum.dengine.kb :refer [!kb find-case-for find-feature-for remember!]] [arboretum.dengine.kb :refer [!kb find-case-for find-feature-for remember!]]
[arboretum.dengine.protocols :refer [Case]]
[taoensso.telemere :refer [log!]])) [taoensso.telemere :refer [log!]]))
(defn dengine [feat c] (defn dengine [feat c]
(let [c' (if (satisfies? Case c) c (-> @!kb :cases c)) (let [c' (find-case-for @!kb c)
f' (find-feature-for @!kb feat)] f' (find-feature-for @!kb feat)]
(log! {:msg (format "Inferring value of `%s` for `%s`" (log! {:msg (format "Inferring value of `%s` for `%s`"
(:case-id c') (:feature-id f'))}) (:case-id c') (:feature-id f'))})

View file

@ -7,6 +7,7 @@
(testing "Context of the test assertions" (testing "Context of the test assertions"
(let [expected true (let [expected true
actual (:value actual (:value
(decide-feat :is-entitled-to-widows-allowance :case-1))](is (= actual expected))))) (decide-feat :is-entitled-to-widows-allowance :case-1))]
(is (= actual expected)))))