;;; SPDX-License-Identifier: LGPL-3.0-or-later
;;; SPDX-FileCopyrightText: Copyright © 2010-2021 Tony Garnock-Jones <tonyg@leastfixedpoint.com>

#lang syndicate/test-implementation

(test-case
    [(assertion-struct one-plus (n m))
     (spawn #:name 'add1-server
            (during/spawn (observe (one-plus $n _))
              #:name (list 'solving 'one-plus n)
              (assert (one-plus n (+ n 1)))))
     (spawn #:name 'client-process
            (stop-when (asserted (one-plus 3 $value))
              (printf "1 + 3 = ~a\n" value)))]
  no-crashes
  (expected-output (list "1 + 3 = 4")))
