source: ruby/trunk/spec/lib/open_ehr/am/archetype/ontology/archetype_ontology_spec.rb@ 412

Last change on this file since 412 was 412, checked in by KOBAYASHI, Shinji, 14 years ago

implemented adl_serializer ontology spec

File size: 2.2 KB
Line 
1require File.dirname(__FILE__) + '/../../../../../spec_helper'
2include OpenEHR::AM::Archetype::Ontology
3include OpenEHR::RM::DataTypes::Text
4
5describe ArchetypeOntology do
6 before(:each) do
7 items = {'TEXT' => 'text', 'DESC' => 'description'}
8 term1 = ArchetypeTerm.new(:code => 'at0000', :items => items)
9 items = {'TEXT' => 'concept'}
10 term2 = ArchetypeTerm.new(:code => 'at0001', :items => items)
11 term_definitions = {'ja' => [term1, term2]}
12 items = {'text' => 'test', 'description' => 'test item'}
13 term3 = ArchetypeTerm.new(:code => 'ac0000', :items => items)
14 constraint_definitions = {'ja' => [term3]}
15 code_phrase = stub(CodePhrase, :code_string => '163020007')
16 bind = {'at0000' => code_phrase}
17 term_bindings = {'SNOMED-CT(2003)' => [bind]}
18 @archetype_ontology =
19 ArchetypeOntology.new(:term_definitions => term_definitions,
20 :constraint_definitions => constraint_definitions,
21 :term_bindings => term_bindings,
22 :specialisation_depth => 0)
23 end
24
25 it 'should be an instance of ArchetypeOntology' do
26 @archetype_ontology.should be_an_instance_of ArchetypeOntology
27 end
28
29 it 'specialisation depth should be assigned properly' do
30 @archetype_ontology.specialisation_depth.should be_equal 0
31 end
32
33 it 'term_definitions should be assigned properly' do
34 @archetype_ontology.term_definitions['ja'][0].code.should == 'at0000'
35 end
36
37 it 'term_codes should returnd all at codes' do
38 @archetype_ontology.term_codes.should == ['at0000','at0001']
39 end
40
41 it 'constraint_definitions should be assigned properly' do
42 @archetype_ontology.constraint_definitions['ja'][0].items['text'].
43 should == 'test'
44 end
45
46 it 'constrant_codes should return all ac codes' do
47 @archetype_ontology.constraint_codes.should == ['ac0000']
48 end
49
50 it 'term_bindings should be assigned properly' do
51 @archetype_ontology.term_bindings['SNOMED-CT(2003)'][0]['at0000'].
52 code_string.should == '163020007'
53 end
54
55 it 'terminologies_available should return available terminology' do
56 @archetype_ontology.terminologies_available.should == ['SNOMED-CT(2003)']
57 end
58end
59
Note: See TracBrowser for help on using the repository browser.