[isidorus-cvs] r467 - in trunk/src: json/JTM unit_tests
Lukas Giessmann
lgiessmann at common-lisp.net
Tue May 10 10:19:36 UTC 2011
Author: lgiessmann
Date: Tue May 10 06:19:35 2011
New Revision: 467
Log:
Fixed ticket #100 => implemented the JTM-im/exporter
Modified:
trunk/src/json/JTM/jtm_aliases.lisp
trunk/src/unit_tests/jtm_test.lisp
Modified: trunk/src/json/JTM/jtm_aliases.lisp
==============================================================================
--- trunk/src/json/JTM/jtm_aliases.lisp (original)
+++ trunk/src/json/JTM/jtm_aliases.lisp Tue May 10 06:19:35 2011
@@ -10,12 +10,9 @@
(defpackage :jtm-exporter
(:use :cl :json :datamodel :base-tools :isidorus-threading
:constants :exceptions :jtm)
- (:export :import-from-jtm
- :import-form-jtm-string
- :export-as-jtm
+ (:export :export-as-jtm
:export-as-jtm-string
:export-construct-as-jtm-string
- :*jtm-xtm*
:item_type-topicmap
:item_type-topic
:item_type-name
@@ -28,4 +25,12 @@
(defpackage :jtm-importer
(:use :cl :json :datamodel :base-tools :isidorus-threading
:constants :exceptions :jtm)
- (:export :import-from-jtm))
\ No newline at end of file
+ (:export :import-from-jtm
+ :import-construct-from-jtm-string
+ :item_type-topicmap
+ :item_type-topic
+ :item_type-name
+ :item_type-variant
+ :item_type-occurrence
+ :item_type-association
+ :item_type-role))
\ No newline at end of file
Modified: trunk/src/unit_tests/jtm_test.lisp
==============================================================================
--- trunk/src/unit_tests/jtm_test.lisp (original)
+++ trunk/src/unit_tests/jtm_test.lisp Tue May 10 06:19:35 2011
@@ -50,7 +50,10 @@
:test-import-topic-maps-3
:test-import-topic-maps-4
:test-import-topic-maps-5
- :test-import-construct-from-jtm-string))
+ :test-import-construct-from-jtm-string
+ :test-import-from-jtm-1
+ :test-import-from-jtm-2
+ :test-import-from-jtm-3))
(in-package :jtm-test)
@@ -2932,14 +2935,74 @@
(signals exceptions:JTM-error
(jtm::import-construct-from-jtm-string
jtm-name-1 :revision 100 :jtm-format :1.0)))))
-
-
+(test test-import-from-jtm-1
+ "Tests the functionimport-from-jtm."
+ (with-fixture with-empty-db ("data_base")
+ (jtm:import-from-jtm
+ (merge-pathnames
+ (asdf:component-pathname
+ (asdf:find-component constants:*isidorus-system* "unit_tests"))
+ "jtm_1.1_test.jtm")
+ (merge-pathnames
+ (asdf:component-pathname constants:*isidorus-system*)
+ "data_base")
+ :tm-id "http://some.where/jtm/tm")
+ (base-tools:open-tm-store
+ (merge-pathnames
+ (asdf:component-pathname constants:*isidorus-system*)
+ "data_base"))
+ (is (= (length (elephant:get-instances-by-class 'TopicC)) 42))
+ (is (= (length (elephant:get-instances-by-class 'AssociationC)) 30))))
+
+
+(test test-import-from-jtm-2
+ "Tests the functionimport-from-jtm."
+ (with-fixture with-empty-db ("data_base")
+ (jtm:import-from-jtm
+ (merge-pathnames
+ (asdf:component-pathname
+ (asdf:find-component constants:*isidorus-system* "unit_tests"))
+ "jtm_1.0_test.jtm")
+ (merge-pathnames
+ (asdf:component-pathname constants:*isidorus-system*)
+ "data_base")
+ :jtm-format :1.0
+ :tm-id "http://some.where/jtm/tm")
+ (base-tools:open-tm-store
+ (merge-pathnames
+ (asdf:component-pathname constants:*isidorus-system*)
+ "data_base"))
+ (is (= (length (elephant:get-instances-by-class 'TopicC)) 42))
+ (is (= (length (elephant:get-instances-by-class 'AssociationC)) 30))))
-;TODO:
-; *import-from-jtm
+(test test-import-from-jtm-3
+ "Tests the functionimport-from-jtm."
+ (with-fixture with-empty-db ("data_base")
+ (let ((jtm-path-2
+ (merge-pathnames
+ (asdf:component-pathname
+ (asdf:find-component constants:*isidorus-system* "unit_tests"))
+ "jtm_1.1_test.jtm"))
+ (jtm-path-1
+ (merge-pathnames
+ (asdf:component-pathname
+ (asdf:find-component constants:*isidorus-system* "unit_tests"))
+ "jtm_1.0_test.jtm"))
+ (db-path
+ (merge-pathnames
+ (asdf:component-pathname constants:*isidorus-system*)
+ "data_base")))
+ (signals exceptions::JTM-error
+ (jtm:import-from-jtm jtm-path-1 db-path :jtm-format :1.1
+ :tm-id "http://some.where/tm-id"))
+ (signals T
+ (jtm:import-from-jtm jtm-path-1 db-path :jtm-format :1.0))
+ (signals exceptions::JTM-error
+ (jtm:import-from-jtm jtm-path-2 db-path :jtm-format :1.0
+ :tm-id "http://some.where/tm-id")))))
(defun run-jtm-tests()
"Runs all tests of this test-suite."
More information about the Isidorus-cvs
mailing list