* tests/srfi-10.test: New file.
[bpt/guile.git] / test-suite / tests / srfi-9.test
1 ;;;; srfi-9.test --- Test suite for Guile's SRFI-9 functions. -*- scheme -*-
2 ;;;; Martin Grabmueller, 2001-05-10
3 ;;;;
4 ;;;; Copyright (C) 2001 Free Software Foundation, Inc.
5 ;;;;
6 ;;;; This program is free software; you can redistribute it and/or modify
7 ;;;; it under the terms of the GNU General Public License as published by
8 ;;;; the Free Software Foundation; either version 2, or (at your option)
9 ;;;; any later version.
10 ;;;;
11 ;;;; This program is distributed in the hope that it will be useful,
12 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;;; GNU General Public License for more details.
15 ;;;;
16 ;;;; You should have received a copy of the GNU General Public License
17 ;;;; along with this software; see the file COPYING. If not, write to
18 ;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 ;;;; Boston, MA 02111-1307 USA
20
21 (use-modules (srfi srfi-9))
22
23 (define-record-type :foo (make-foo x) foo?
24 (x get-x) (y get-y set-y!))
25
26 (define f (make-foo 1))
27 (set-y! f 2)
28
29 (with-test-prefix "record procedures"
30
31 (pass-if "predicate"
32 (foo? f))
33
34 (pass-if "accessor 1"
35 (= 1 (get-x f)))
36
37 (pass-if "accessor 2"
38 (= 2 (get-y f)))
39
40 (pass-if "modifier"
41 (set-y! f #t)
42 (eq? #t (get-y f))))