mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 04:40:29 +02:00
42 lines
1.3 KiB
Scheme
42 lines
1.3 KiB
Scheme
;;;; srfi-9.test --- Test suite for Guile's SRFI-9 functions. -*- scheme -*-
|
|
;;;; Martin Grabmueller, 2001-05-10
|
|
;;;;
|
|
;;;; Copyright (C) 2001 Free Software Foundation, Inc.
|
|
;;;;
|
|
;;;; This program is free software; you can redistribute it and/or modify
|
|
;;;; it under the terms of the GNU General Public License as published by
|
|
;;;; the Free Software Foundation; either version 2, or (at your option)
|
|
;;;; any later version.
|
|
;;;;
|
|
;;;; This program is distributed in the hope that it will be useful,
|
|
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;;; GNU General Public License for more details.
|
|
;;;;
|
|
;;;; You should have received a copy of the GNU General Public License
|
|
;;;; along with this software; see the file COPYING. If not, write to
|
|
;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
;;;; Boston, MA 02111-1307 USA
|
|
|
|
(use-modules (srfi srfi-9))
|
|
|
|
(define-record-type :foo (make-foo x) foo?
|
|
(x get-x) (y get-y set-y!))
|
|
|
|
(define f (make-foo 1))
|
|
(set-y! f 2)
|
|
|
|
(with-test-prefix "record procedures"
|
|
|
|
(pass-if "predicate"
|
|
(foo? f))
|
|
|
|
(pass-if "accessor 1"
|
|
(= 1 (get-x f)))
|
|
|
|
(pass-if "accessor 2"
|
|
(= 2 (get-y f)))
|
|
|
|
(pass-if "modifier"
|
|
(set-y! f #t)
|
|
(eq? #t (get-y f))))
|