Update nnls unit tests.

Commit
fc9f74466d0b56a089f8b6d8aed870e0b943f092
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
services/nnls.rkt
index 898072c8..90acb41f 100644..100644
@@ -70,7 +70,6 @@
70 70 (let ([max-j (argmax (λ (j) (colv-ref w j)) (set->list R))])
71 71 (values (colv-ref w max-j) max-j))))
72 72
73 Removed:
74 73 ;; Build full candidate vector s from current P:
75 74 ;; s_P = (A_Pᵀ A_P)⁻¹ A_Pᵀ y, s_R = 0
76 75 (define (make-s-from-P)
@@ -132,6 +131,7 @@
132 131 [(or (set-empty? P) (> min-sP 0))
133 132 (set! x s)
134 133 (outer-loop)]
134 Added:
135 135 [else
136 136 ;; Compute α = min_{i in P, s_i <= 0} x_i / (x_i - s_i)
137 137 (define α
@@ -180,24 +180,27 @@
180 180
181 181 (define test-date "2025-01-01")
182 182
183 Removed: (run-tests
184 Removed: (test-suite "Nutrient measurement model"
185 Removed: #:before
186 Removed: (λ ()
187 Removed: (connect! #:path 'memory)
188 Removed: ;; (connect! #:path "test.sqlite3")
189 Removed: (migrate-all!)
183 Added: (run-tests (test-suite "Nutrient measurement model"
184 Added: #:before (λ ()
185 Added: (connect! #:path 'memory)
186 Added: ;; (connect! #:path "test.sqlite3")
187 Added: (migrate-all!)
190 188
191 Removed: (define nitrogen (create-nutrient! "Nitrogen" "N"))
192 Removed: (define phosphorus (create-nutrient! "Phosphorus" "P"))
189 Added: (define nitrogen (create-nutrient! "Nitrogen" "N"))
190 Added: (define phosphorus (create-nutrient! "Phosphorus" "P"))
193 191
194 Removed: (create-nutrient-measurement! test-date `((,nitrogen . 0) (,phosphorus . 0)))
195 Removed: (create-nutrient-target! test-date `((,nitrogen . 100) (,phosphorus . 50)))
192 Added: (create-nutrient-measurement! test-date (hash nitrogen 0 phosphorus 0))
193 Added: (create-nutrient-target! test-date (hash nitrogen 100 phosphorus 50))
196 194
197 Removed: (create-fertilizer-product! "King Nitrogen" `((,nitrogen . 100)))
198 Removed: (create-fertilizer-product! "Phosphorescent Baboon" `((,nitrogen . 10) (,phosphorus . 100)))
199 Removed: (create-fertilizer-product! "John's Phosphorus" `((,nitrogen . 3) (,phosphorus . 30))))
200 Removed: #:after (λ () (disconnect!))
195 Added: (create-fertilizer-product! "Nitrogen" "King Nitrogen" (hash nitrogen 100))
196 Added: (create-fertilizer-product! "Phosphorus"
197 Added: "Phosphorescent Baboon"
198 Added: (hash nitrogen 10 phosphorus 100))
199 Added: (create-fertilizer-product! "Diluted phosphorus"
200 Added: "John's Phosphorus"
201 Added: (hash nitrogen 3 phosphorus 30)))
202 Added: #:after (λ () (disconnect!))
201 203
202 Removed: (test-case "Solve for NNLS"
203 Removed: (displayln (format "Final solution for fertilizers is combination ~a" (find-ferti-recipe)))))))
204 Added: (test-case "Solve for NNLS"
205 Added: (displayln (format "Final solution for fertilizers is combination ~a"
206 Added: (find-ferti-recipe)))))))