[cl-prevalence-cvs] CVS update: cl-prevalence/test/test-serialization.lisp

Update of /project/cl-prevalence/cvsroot/cl-prevalence/test In directory common-lisp.net:/tmp/cvs-serv22666/test Modified Files: test-serialization.lisp Log Message: now testing xml and sexp serialization seperately, added empty string test thanks to randall randall Date: Mon Oct 4 16:52:52 2004 Author: scaekenberghe Index: cl-prevalence/test/test-serialization.lisp diff -u cl-prevalence/test/test-serialization.lisp:1.1.1.1 cl-prevalence/test/test-serialization.lisp:1.2 --- cl-prevalence/test/test-serialization.lisp:1.1.1.1 Sun Jun 20 21:13:42 2004 +++ cl-prevalence/test/test-serialization.lisp Mon Oct 4 16:52:52 2004 @@ -1,6 +1,6 @@ ;;;; -*- mode: Lisp -*- ;;;; -;;;; $Id: test-serialization.lisp,v 1.1.1.1 2004/06/20 19:13:42 scaekenberghe Exp $ +;;;; $Id: test-serialization.lisp,v 1.2 2004/10/04 14:52:52 scaekenberghe Exp $ ;;;; ;;;; Testing XML and S-Expression based Serialization for Common Lisp and CLOS ;;;; @@ -12,11 +12,13 @@ (in-package :s-serialization) -(defun serialize-and-deserialize (object) +(defun serialize-and-deserialize-xml (object) (with-input-from-string (in (with-output-to-string (out) (serialize-xml object out))) - (deserialize-xml in)) + (deserialize-xml in))) + +(defun serialize-and-deserialize-sexp (object) (with-input-from-string (in (with-output-to-string (out) (serialize-sexp object out))) @@ -25,46 +27,97 @@ ;; primitives (assert - (null (serialize-and-deserialize nil))) + (null (serialize-and-deserialize-xml nil))) + +(assert + (null (serialize-and-deserialize-sexp nil))) (assert - (eq (serialize-and-deserialize t) + (eq (serialize-and-deserialize-xml t) t)) (assert - (= (serialize-and-deserialize 100) + (eq (serialize-and-deserialize-sexp t) + t)) + +(assert + (= (serialize-and-deserialize-xml 100) + 100)) + +(assert + (= (serialize-and-deserialize-sexp 100) 100)) (assert - (= (serialize-and-deserialize (/ 3)) + (= (serialize-and-deserialize-xml (/ 3)) (/ 3))) (assert - (= (serialize-and-deserialize pi) + (= (serialize-and-deserialize-sexp (/ 3)) + (/ 3))) + +(assert + (= (serialize-and-deserialize-xml pi) + pi)) + +(assert + (= (serialize-and-deserialize-sexp pi) pi)) (assert - (= (serialize-and-deserialize (complex 1.5 2.5)) + (= (serialize-and-deserialize-xml (complex 1.5 2.5)) + (complex 1.5 2.5))) + +(assert + (= (serialize-and-deserialize-sexp (complex 1.5 2.5)) (complex 1.5 2.5))) (assert - (eq (serialize-and-deserialize 'foo) + (eq (serialize-and-deserialize-xml 'foo) + 'foo)) + +(assert + (eq (serialize-and-deserialize-sexp 'foo) 'foo)) (assert - (eq (serialize-and-deserialize :foo) + (eq (serialize-and-deserialize-xml :foo) :foo)) (assert - (eq (serialize-and-deserialize 'room) + (eq (serialize-and-deserialize-sexp :foo) + :foo)) + +(assert + (eq (serialize-and-deserialize-xml 'room) 'room)) (assert - (equal (serialize-and-deserialize "Hello") + (eq (serialize-and-deserialize-sexp 'room) + 'room)) + +(assert + (equal (serialize-and-deserialize-xml "Hello") + "Hello")) + +(assert + (equal (serialize-and-deserialize-sexp "Hello") "Hello")) +(assert + (equal (serialize-and-deserialize-xml "") + "")) + +(assert + (equal (serialize-and-deserialize-sexp "") + "")) + +(assert + (equal (serialize-and-deserialize-xml "Hello <foo> & </bar>!") + "Hello <foo> & </bar>!")) + (assert - (equal (serialize-and-deserialize "Hello <foo> & </bar>!") + (equal (serialize-and-deserialize-sexp "Hello <foo> & </bar>!") "Hello <foo> & </bar>!")) ;; simple sequences @@ -73,11 +126,22 @@ (reduce #'(lambda (x &optional (y t)) (and x y)) (map 'list #'eql - (serialize-and-deserialize (list 1 2 3)) + (serialize-and-deserialize-xml (list 1 2 3)) (list 1 2 3)))) (assert - (equal (serialize-and-deserialize (list 1 2 3)) + (reduce #'(lambda (x &optional (y t)) (and x y)) + (map 'list + #'eql + (serialize-and-deserialize-sexp (list 1 2 3)) + (list 1 2 3)))) + +(assert + (equal (serialize-and-deserialize-xml (list 1 2 3)) + (list 1 2 3))) + +(assert + (equal (serialize-and-deserialize-sexp (list 1 2 3)) (list 1 2 3))) ;; simple objects @@ -89,7 +153,13 @@ (defparameter *foobar* (make-instance 'foobar :foo 100 :bar "Bar")) (assert - (let ((foobar (serialize-and-deserialize *foobar*))) + (let ((foobar (serialize-and-deserialize-xml *foobar*))) + (and (equal (get-foo foobar) (get-foo *foobar*)) + (equal (get-bar foobar) (get-bar *foobar*)) + (eq (class-of foobar) (class-of *foobar*))))) + +(assert + (let ((foobar (serialize-and-deserialize-sexp *foobar*))) (and (equal (get-foo foobar) (get-foo *foobar*)) (equal (get-bar foobar) (get-bar *foobar*)) (eq (class-of foobar) (class-of *foobar*))))) @@ -103,7 +173,13 @@ (defparameter *foobaz* (make-foobaz :foo 100 :baz "Baz")) (assert - (let ((foobaz (serialize-and-deserialize *foobaz*))) + (let ((foobaz (serialize-and-deserialize-xml *foobaz*))) + (and (foobaz-p foobaz) + (equal (foobaz-foo foobaz) (foobaz-foo *foobaz*)) + (equal (foobaz-baz foobaz) (foobaz-baz *foobaz*))))) + +(assert + (let ((foobaz (serialize-and-deserialize-sexp *foobaz*))) (and (foobaz-p foobaz) (equal (foobaz-foo foobaz) (foobaz-foo *foobaz*)) (equal (foobaz-baz foobaz) (foobaz-baz *foobaz*))))) @@ -118,7 +194,12 @@ hashtable)) (let (h2) - (setf h2 (serialize-and-deserialize *hashtable*)) + (setf h2 (serialize-and-deserialize-xml *hashtable*)) + (maphash #'(lambda (k v) (assert (equal v (gethash k h2)))) *hashtable*) + (maphash #'(lambda (k v) (assert (equal v (gethash k *hashtable*)))) h2)) + +(let (h2) + (setf h2 (serialize-and-deserialize-sexp *hashtable*)) (maphash #'(lambda (k v) (assert (equal v (gethash k h2)))) *hashtable*) (maphash #'(lambda (k v) (assert (equal v (gethash k *hashtable*)))) h2))
participants (1)
-
Sven Van Caekenberghe