aboutsummaryrefslogtreecommitdiff
path: root/tests/sets.scm
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)
Generate metacpan.org home page URIs. Update all previously generated ones in (gnu packages) to their canonical new homes. Tobias Geerinckx-Rice 2018-08-11gnu: Use static & unversioned CPAN home pages....Constructing home pages to be version-specific is not something we really want or do elsewhere, and interferers with mass updates like the one I'm about to make. * gnu/packages/glib.scm (perl-net-dbus-glib)[home-page]: Use canonical home page. * gnu/packages/perl-check.scm (perl-test-nowarnings, perl-test-output) (perl-test-simple, perl-test-tester)[home-page]: Likewise. * gnu/packages/perl.scm (perl-benchmark-timer, perl-clone) (perl-digest-sha1, perl-file-which, perl-getopt-tabular, perl-io-string) (perl-ipc-run3, perl-probe-perl, perl-regexp-common, perl-sys-cpu) [home-page]: Likewise. * gnu/packages/tcl.scm (perl-tk)[home-page]: Likewise. * gnu/packages/tls.scm (perl-net-ssleay)[home-page]: Likewise. * gnu/packages/web.scm (perl-www-curl)[home-page]: Likewise. * gnu/packages/xml.scm (perl-xml-dom)[home-page]: Likewise. * gnu/packages/xorg.scm (perl-x11-protocol-other)[home-page]: Likewise. Tobias Geerinckx-Rice 2018-07-16gnu: tk: Add symlink for 'wish' binary....* gnu/packages/tcl.scm (tk)[arguments]: Add custom phase to create a symlink from 'wish' to 'wish8.6'. [home-page]: Use https. Efraim Flashner