1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
6 ;;;; Purpose: Basic tests for UMLisp
7 ;;;; Author: Kevin M. Rosenberg
8 ;;;; Date Started: May 2003
12 ;;;; This file, part of UMLisp, is
13 ;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
15 ;;;; UMLisp users are granted the rights to distribute and use this software
16 ;;;; as governed by the terms of the GNU General Public License.
17 ;;;; *************************************************************************
19 (in-package #:umlisp-tests)
23 (deftest :qrystr/1 (umlisp::query-string mrcon (cui lui))
24 "select CUI,LUI from MRCON")
26 (deftest :qrystr/1e (umlisp::query-string-eval 'mrcon '(cui lui))
27 "select CUI,LUI from MRCON")
29 (deftest :qrystr/2 (umlisp::query-string mrcon (cui lui) 0)
30 "select CUI,LUI from MRCON and KCUILRL<=0")
32 (deftest :qrystr/2e (umlisp::query-string-eval 'mrcon '(cui lui) 0)
33 "select CUI,LUI from MRCON and KCUILRL<=0")
35 (deftest :qrystr/3 (umlisp::query-string mrcon (cui lui) nil cui 5)
36 "select CUI,LUI from MRCON where CUI='5'")
38 (deftest :qrystr/3e (umlisp::query-string-eval 'mrcon '(cui lui) nil 'cui 5)
39 "select CUI,LUI from MRCON where CUI='5'")
41 (deftest :qrystr/4 (umlisp::query-string mrcon (cui lui) nil kpfstr "Abc")
42 "select CUI,LUI from MRCON where KPFSTR='Abc'")
44 (deftest :qrystr/4e (umlisp::query-string-eval 'mrcon '(cui lui) nil 'kpfstr "Abc")
45 "select CUI,LUI from MRCON where KPFSTR='Abc'")
47 (deftest :qrystr/5 (umlisp::query-string mrcon (cui lui) 2 cui 5 :single t)
48 "select CUI,LUI from MRCON where CUI='5' and KCUILRL<=2 limit 1")
50 (deftest :qrystr/5e (umlisp::query-string-eval 'mrcon '(cui lui) 2 'cui 5 :single t)
51 "select CUI,LUI from MRCON where CUI='5' and KCUILRL<=2 limit 1")
53 (deftest :qrystr/6 (umlisp::query-string mrdef (sab def) 2 cui 39 :lrl ksrl :single t)
54 "select SAB,DEF from MRDEF where CUI='39' and KSRL<=2 limit 1")
56 (deftest :qrystr/6e (umlisp::query-string-eval 'mrdef '(sab def) 2 'cui 39 :lrl 'ksrl :single t)
57 "select SAB,DEF from MRDEF where CUI='39' and KSRL<=2 limit 1")
59 (deftest :qrystr/7 (umlisp::query-string mrdef (sab def) 2 cui 39 :lrl ksrl :order (cui asc))
60 "select SAB,DEF from MRDEF where CUI='39' and KSRL<=2 order by CUI asc")
62 (deftest :qrystr/7e (umlisp::query-string-eval 'mrdef '(sab def) 2 'cui 39 :lrl 'ksrl :order '(cui asc))
63 "select SAB,DEF from MRDEF where CUI='39' and KSRL<=2 order by CUI asc")
65 (deftest :qrystr/8 (umlisp::query-string mrdef (sab def) 2 cui 39 :lrl ksrl
66 :order (cui asc def desc))
67 "select SAB,DEF from MRDEF where CUI='39' and KSRL<=2 order by CUI asc,DEF desc")
69 (deftest :qrystr/8e (umlisp::query-string-eval 'mrdef '(sab def) 2 'cui 39 :lrl 'ksrl
70 :order '(cui asc def desc))
71 "select SAB,DEF from MRDEF where CUI='39' and KSRL<=2 order by CUI asc,DEF desc")
73 (deftest :ui/1 (umlisp::parse-cui "C0002341") 2341)
74 (deftest :ui/2 (umlisp::parse-lui "L0002341") 2341)
75 (deftest :ui/3 (umlisp::parse-sui "S0000000") 0)
76 (deftest :ui/4 (umlisp::parse-tui "T123") 123)
77 (deftest :ui/5 (fmt-cui 2341) "C0002341")
78 (deftest :ui/6 (fmt-lui 2341) "L0002341")
79 (deftest :ui/7 (fmt-sui 2341) "S0002341")
80 (deftest :ui/8 (fmt-tui 231) "T231")
81 (deftest :ui/9 (fmt-tui 231) "T231")
82 (deftest :ui/10 (fmt-eui 231) "E0000231")
83 (deftest :ui/11 (umlisp::make-cuisui 5 11) 50000011)
84 (deftest :ui/12 (umlisp::decompose-cuisui 50000011) 5 11)
85 (deftest :ui/13 (umlisp::parse-eui "E00002311") 2311)
86 (deftest :ui/14 (umlisp::parse-lui "1234") 1234)
87 (deftest :ui/15 (umlisp::parse-lui 1234) 1234)