Ignore:
Timestamp:
Apr 23, 2010, 12:00:31 AM (14 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed archetype ontology bugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/spec/lib/open_ehr/am/archetype/ontology/archetype_ontology_spec.rb

    r403 r411  
    11require File.dirname(__FILE__) + '/../../../../../spec_helper'
    22include OpenEHR::AM::Archetype::Ontology
     3include OpenEHR::RM::DataTypes::Text
    34
    45describe ArchetypeOntology do
    56  before(:each) do
    6     terminologies_available = stub(Set, :size =>1)
    7     term_codes = stub(Array, :size => 2)
    8     constraint_codes = stub(Array, :size => 3)
    9     term_attribute_names = stub(Array, :size => 4)
     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]}
    1018    @archetype_ontology =
    11       ArchetypeOntology.new(:terminologies_available => terminologies_available,
    12                             :specialisation_depth => 0,
    13                             :term_codes => term_codes,
    14                             :constraint_codes => constraint_codes,
    15                             :term_attribute_names => term_attribute_names)
     19      ArchetypeOntology.new(:term_definitions => term_definitions,
     20                            :constraint_definitions => constraint_definitions,
     21                            :term_bindings => term_bindings,
     22                            :specialisation_depth => 0)
    1623  end
    1724
     
    2027  end
    2128
    22   it 'terminologies_available should be assigned properly' do
    23     @archetype_ontology.terminologies_available.size.should be_equal 1
    24   end
    25 
    26   it 'should raise ArgumentError if terminologies_available is nil' do
    27     lambda {
    28       @archetype_ontology.terminologies_available = nil
    29     }.should raise_error ArgumentError
    30   end
    31 
    32   it 'term_codes should be assigned properly' do
    33     @archetype_ontology.term_codes.size.should be_equal 2
    34   end
    35 
    3629  it 'specialisation depth should be assigned properly' do
    3730    @archetype_ontology.specialisation_depth.should be_equal 0
    3831  end
    3932
    40   it 'constraint_codes should be assigned properly' do
    41     @archetype_ontology.constraint_codes.size.should be_equal 3
     33  it 'term_definitions should be assigned properly' do
     34    @archetype_ontology.term_definitions['ja'][0].code.should == 'at0000'
    4235  end
    4336
    44   it 'term_attribute_names should be assigned properly' do
    45     @archetype_ontology.term_attribute_names.size.should be_equal 4
     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'
    4653  end
    4754end
Note: See TracChangeset for help on using the changeset viewer.