<
aboutsummaryrefslogtreecommitdiff
blob: cdb7efe1725d65501825ba23e2ec95e37dc8edb0 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix 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 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix 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 GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (test-sets)
  #:use-module (guix sets)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:use-module (srfi srfi-64))


(test-begin "sets")

(test-assert "set-contains?"
  (let* ((lst (iota 123))
         (set (list->set lst)))
    (and (every (cut set-contains? set <>)
                lst)
         (not (set-contains? set -1)))))

(test-assert "set->list"
  (let* ((lst (iota 123))
         (set (list->set lst)))
    (lset= = lst (set->list set))))

(test-assert "set-union"
  (let* ((a  (list 'a))
         (b  (list 'b))
         (s1 (setq a))
         (s2 (setq b))
         (s3 (set-union s1 s2)))
    (and (set-contains? s3 a)
         (set-contains? s3 b))))

(test-end)
2@worcester.edu> David Thompson <davet@gnu.org> <dthompson@member.fsf.org> David Thompson <davet@gnu.org> <dthompson@vistahigherlearning.com> Deck Pickard <deck.r.pickard@gmail.com> <nebu@kipple> Eric Bavier <bavier@member.fsf.org> <ericbavier@gmail.com> Eric Dvorsak <eric@dvorsak.fr> <yenda1@gmail.com> George Clemmer <myglc2@gmail.com> Ivan Vilata i Balaguer <ivan@selidor.net> Jeff Mickey <j@codemac.net> <jm@igneous.io> John Darrington <jmd@gnu.org> <john@darrington.wattle.id.au> John J. Foerch <jjfoerch@earthlink.net> Joshua Grant <tadni@riseup.net> <gzg@riseup.net> Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io> Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com> Joshua Grant <tadni@riseup.net> <youlysses@riseup.net> Kei Kebreau <kei@openmailbox.org> <kkebreau@posteo.net> Leo Famulari <leo@famulari.name> <lfamular@gmail.com> Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr> Marek Benc <dusxmt@gmx.com> <merkur32@gmail.com> Marius Bakke <mbakke@fastmail.com> <m.bakke@warwick.ac.uk> Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org> Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org> Mathieu Othacehe <m.othacehe@gmail.com> Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com> ng0 <ng0@crash.cx> ng0 <ng0@crash.cx> ng0 <ng0@n0.is> ng0 <ng0@crash.cx> <ng0@infotropique.org> ng0 <ng0@crash.cx> <ng0@no-reply.infotropique.org> ng0 <ng0@crash.cx> <ng0@no-reply.pragmatique.xyz> ng0 <ng0@crash.cx> <ng0@pragmatique.xyz> ng0 <ng0@crash.cx> <contact.ng0@cryptolab.net> ng0 <ng0@crash.cx> <ng0@we.make.ritual.n0.is> ng0 <ng0@crash.cx> <ngillmann@runbox.com> ng0 <ng0@crash.cx> <niasterisk@grrlz.net> ng0 <ng0@crash.cx> <ng@niasterisk.space> ng0 <ng0@crash.cx> <ng0@libertad.pw> Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public01@thebird.nl> Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@thebird.nl> Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@email> Raimon Grau <raimonster@gmail.com> <raimon@3scale.net> Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> Raymond Nicholson <rain1@openmailbox.org> Rene Saavedra <rennes@openmailbox.org> Ricardo Wurmus <rekado@elephly.net> Ricardo Wurmus <rekado@elephly.net> <ricardo.wurmus@mdc-berlin.de> Sou Bunnbu (宋文武) <iyzsong@gmail.com> Sou Bunnbu (宋文武) <iyzsong@gmail.com> <iyzsong@member.fsf.org> Stefan Reichör <stefan@xsteve.at> Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> Theodoros Foradis <theodoros.for@openmailbox.org> <theodoros@foradis.org> Thomas Danckaert <thomas.danckaert@gmail.com> <post@thomasdanckaert.be> Tobias Geerinckx-Rice <me@tobias.gr> <tobias.geerinckx.rice@gmail.com> Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz> Vincent Legoll <vincent.legoll@gmail.com> <vincent.legoll@idgrilles.fr>