Filtering...

assert-bang-stobj-tests

books/std/testing/assert-bang-stobj-tests

Included Books

other
(in-package "ACL2")
include-book
(include-book "assert-bang-stobj")
include-book
(include-book "must-fail")
local
(local (encapsulate nil
    (defstobj foo field1 field2)
    (defun test-stobj
      (x foo)
      (declare (xargs :stobjs foo))
      (let ((foo (update-field1 17 foo)))
        (update-field2 x foo)))
    (assert!-stobj (let* ((foo (test-stobj 14 foo)))
        (mv (equal (field1 foo) 17) foo))
      foo)
    (must-fail (assert!-stobj (let* ((foo (test-stobj 14 foo)))
          (mv (equal (field1 foo) 14) foo))
        foo))))