File: subtypep-eql.lsp

package info (click to toggle)
gcl27 2.7.1-13
  • links: PTS
  • area: main
  • in suites: forky
  • size: 30,888 kB
  • sloc: lisp: 211,946; ansic: 52,944; sh: 9,347; makefile: 647; tcl: 53; awk: 52
file content (56 lines) | stat: -rw-r--r-- 1,360 bytes parent folder | download | duplicates (7)
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
50
51
52
53
54
55
56
;-*- Mode:     Lisp -*-
;;;; Author:   Paul Dietz
;;;; Created:  Sat Feb 15 11:58:43 2003
;;;; Contains: Tests for subtype relationships on EQL types

(in-package :cl-test)

(compile-and-load "types-aux.lsp")

(deftest subtypep.eql.1
  (let ((s1 (copy-seq "abc"))
	(s2 (copy-seq "abc")))
    (let ((t1 `(eql ,s1))
	  (t2 `(eql ,s2)))
      (cond
       ((subtypep t1 t2) "T1 is subtype of T2")
       ((subtypep t2 t1) "T2 is subtype of T1")
       (t (check-disjointness t1 t2)))))
  nil)
    
(deftest subtypep.eql.2
  (let ((s1 (copy-seq '(a b c)))
	(s2 (copy-seq '(a b c))))
    (let ((t1 `(eql ,s1))
	  (t2 `(eql ,s2)))
      (cond
       ((subtypep t1 t2) "T1 is subtype of T2")
       ((subtypep t2 t1) "T2 is subtype of T1")
       (t (check-disjointness t1 t2)))))
  nil)

(deftest subtypep.eql.3
  (let ((i1 (1+ most-positive-fixnum))
	(i2 (1+ most-positive-fixnum)))
    (check-equivalence `(eql ,i1) `(eql ,i2)))
  nil)

(deftest subtypep.eql.4
  (check-equivalence '(and (eql a) (eql b)) nil)
  nil)

(deftest subtypep.eql.5
  (check-all-subtypep '(eql a) '(satisfies symbolp))
  nil)

(deftest subtypep.eql.6
  (check-disjointness '(eql 17) '(satisfies symbolp))
  nil)

(deftest subtypep.eql.7
  (check-all-subtypep '(eql nil) '(satisfies symbolp))
  nil)

(deftest subtypep.eql.8
  (check-all-not-subtypep '(satisfies symbolp) '(eql a))
  nil)