;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
-;;;; ======================================================================
-;;;; File: test-ooddl.lisp
-;;;; Author: Marcus Pearce <m.t.pearce@city.ac.uk>
-;;;; Created: 30/03/2004
-;;;; Updated: $Id$
+;;;; *************************************************************************
+;;;; FILE IDENTIFICATION
;;;;
-;;;; Tests for the CLSQL Object Oriented Data Definition Language
-;;;; (OODDL).
+;;;; Name: test-ooddl.lisp
+;;;; Purpose: Tests for the CLSQL Object Oriented Data Definition Language
+;;;; Authors: Marcus Pearce and Kevin M. Rosenberg
+;;;; Created: March 2004
;;;;
;;;; This file is part of CLSQL.
;;;;
;;;; CLSQL users are granted the rights to distribute and use this software
;;;; as governed by the terms of the Lisp Lesser GNU Public License
;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
-;;;; ======================================================================
+;;;; *************************************************************************
(in-package #:clsql-tests)
-#.(clsql:locally-enable-sql-reader-syntax)
+(clsql-sys:file-enable-sql-reader-syntax)
(def-view-class big ()
(clsql-sys::class-slots (find-class 'company))))
t t t t t t)
-;; Ensure classes are correctly marked normalised or not, default not
+;; Ensure classes are correctly marked normalized or not, default not
;(deftest :ooddl/metaclass/3
; (values
-; (clsql-sys::normalisedp derivednode1)
-; (clsql-sys::normalisedp basenode)
-; (clsql-sys::normalisedp company1)
-; (clsql-sys::normalisedp employee3)
-; (clsql-sys::normalisedp derivednode-sc-2))
+; (clsql-sys::normalizedp derivednode1)
+; (clsql-sys::normalizedp basenode)
+; (clsql-sys::normalizedp company1)
+; (clsql-sys::normalizedp employee3)
+; (clsql-sys::normalizedp derivednode-sc-2))
; t nil nil nil t)
;(deftest :ooddl/metaclass/3
; (values
-; (normalisedp (find-class 'baseclass))
-; (normalisedp (find-class 'normderivedclass)))
+; (normalizedp (find-class 'baseclass))
+; (normalizedp (find-class 'normderivedclass)))
; nil t)
(deftest :ooddl/join/1
(slot-value (employee-manager employee2) 'last-name))
"Lenin")
+(deftest :ooddl/join/4
+ (with-dataset *ds-employees*
+ (values
+ (length (employee-addresses employee10))
+ ;; add an address
+ (let ((*db-auto-sync* T))
+ (make-instance 'address :addressid 50)
+ (make-instance 'employee-address :emplid 10 :addressid 50)
+ ;; again
+ (length (employee-addresses employee10)))
+ (progn
+ (update-objects-joins (list employee10) :slots '(addresses))
+ (length (employee-addresses employee10)))))
+ 0 0 1)
+
(deftest :ooddl/big/1
;;tests that we can create-view-from-class with a bigint slot,
;; and stick a value in there.
(progn (clsql-sys:create-view-from-class 'big)
(values
- (clsql:table-exists-p [big] :owner *test-database-user*)
+ (clsql:table-exists-p [big] )
(progn
(clsql:drop-table [big] :if-does-not-exist :ignore)
- (clsql:table-exists-p [big] :owner *test-database-user*)))
+ (clsql:table-exists-p [big] )))
)
t nil)
))
-#.(clsql:restore-sql-reader-syntax-state)