open_ehr 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +43 -0
- data/Guardfile +9 -0
- data/History.txt +4 -0
- data/Manifest.txt +16 -0
- data/PostInstall.txt +9 -0
- data/README.rdoc +66 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/doc/README_rdoc.html +148 -0
- data/doc/created.rid +2 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +54 -0
- data/doc/js/darkfish.js +116 -0
- data/doc/js/jquery.js +32 -0
- data/doc/js/quicksearch.js +114 -0
- data/doc/js/thickbox-compressed.js +10 -0
- data/doc/openehr_terminology.xml +2700 -0
- data/doc/rdoc.css +706 -0
- data/lib/#open_ehr.rb# +11 -0
- data/lib/open_ehr/am/archetype/archetype_description/archetype_description.rb +21 -0
- data/lib/open_ehr/am/archetype/assertion.rb +190 -0
- data/lib/open_ehr/am/archetype/constraint_model/primitive.rb +296 -0
- data/lib/open_ehr/am/archetype/constraint_model.rb +340 -0
- data/lib/open_ehr/am/archetype/ontology.rb +97 -0
- data/lib/open_ehr/am/archetype.rb +134 -0
- data/lib/open_ehr/am/open_ehr_profile/data_types/basic.rb +29 -0
- data/lib/open_ehr/am/open_ehr_profile/data_types/quantity.rb +19 -0
- data/lib/open_ehr/am/open_ehr_profile/data_types/text.rb +12 -0
- data/lib/open_ehr/am.rb +8 -0
- data/lib/open_ehr/assumed_library_types.rb +627 -0
- data/lib/open_ehr/parser/xml_perser.rb +13 -0
- data/lib/open_ehr/parser.rb +19 -0
- data/lib/open_ehr/rm/common/archetyped.rb +182 -0
- data/lib/open_ehr/rm/common/change_control.rb +332 -0
- data/lib/open_ehr/rm/common/directory.rb +29 -0
- data/lib/open_ehr/rm/common/generic.rb +216 -0
- data/lib/open_ehr/rm/common/resource.rb +154 -0
- data/lib/open_ehr/rm/common.rb +14 -0
- data/lib/open_ehr/rm/composition/content/entry.rb +246 -0
- data/lib/open_ehr/rm/composition/content/navigation.rb +31 -0
- data/lib/open_ehr/rm/composition/content.rb +22 -0
- data/lib/open_ehr/rm/composition.rb +103 -0
- data/lib/open_ehr/rm/data_structures/history.rb +117 -0
- data/lib/open_ehr/rm/data_structures/item_structure/representation.rb +63 -0
- data/lib/open_ehr/rm/data_structures/item_structure.rb +216 -0
- data/lib/open_ehr/rm/data_structures.rb +25 -0
- data/lib/open_ehr/rm/data_types/basic.rb +108 -0
- data/lib/open_ehr/rm/data_types/charset.lst +818 -0
- data/lib/open_ehr/rm/data_types/charset_extract.rb +24 -0
- data/lib/open_ehr/rm/data_types/encapsulated.rb +98 -0
- data/lib/open_ehr/rm/data_types/quantity/date_time.rb +229 -0
- data/lib/open_ehr/rm/data_types/quantity.rb +403 -0
- data/lib/open_ehr/rm/data_types/text.rb +168 -0
- data/lib/open_ehr/rm/data_types/time_specification.rb +75 -0
- data/lib/open_ehr/rm/data_types/uri.rb +82 -0
- data/lib/open_ehr/rm/data_types.rb +14 -0
- data/lib/open_ehr/rm/demographic.rb +269 -0
- data/lib/open_ehr/rm/ehr.rb +162 -0
- data/lib/open_ehr/rm/integration.rb +27 -0
- data/lib/open_ehr/rm/security.rb +12 -0
- data/lib/open_ehr/rm/support/assumed_types.rb +81 -0
- data/lib/open_ehr/rm/support/definition.rb +15 -0
- data/lib/open_ehr/rm/support/identification.rb +408 -0
- data/lib/open_ehr/rm/support/measurement.rb +17 -0
- data/lib/open_ehr/rm/support/terminology.rb +135 -0
- data/lib/open_ehr/rm/support.rb +14 -0
- data/lib/open_ehr/rm.rb +16 -0
- data/lib/open_ehr/serializer.rb +272 -0
- data/lib/open_ehr/terminology/open_ehr_terminology.rb +41 -0
- data/lib/open_ehr/terminology.rb +7 -0
- data/lib/open_ehr/writer.rb +12 -0
- data/lib/open_ehr.rb +11 -0
- data/spec/lib/open_ehr/am/archetype/archetype_spec.rb +98 -0
- data/spec/lib/open_ehr/am/archetype/assertion/assertion_spec.rb +60 -0
- data/spec/lib/open_ehr/am/archetype/assertion/assertion_variable_spec.rb +30 -0
- data/spec/lib/open_ehr/am/archetype/assertion/expr_binary_operator.rb +40 -0
- data/spec/lib/open_ehr/am/archetype/assertion/expr_item_spec.rb +28 -0
- data/spec/lib/open_ehr/am/archetype/assertion/expr_leaf_spec.rb +34 -0
- data/spec/lib/open_ehr/am/archetype/assertion/expr_operator_spec.rb +25 -0
- data/spec/lib/open_ehr/am/archetype/assertion/expr_unary_operator_spec.rb +26 -0
- data/spec/lib/open_ehr/am/archetype/assertion/operator_kind_spec.rb +110 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/archetype_constraint_spec.rb +56 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/archetype_internal_ref_spec.rb +36 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/archetype_slot_spec.rb +61 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_attribute_spec.rb +59 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_complex_object_spec.rb +39 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_defined_object_spec.rb +53 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_domain_type_spec.rb +25 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_multiple_attribute_spec.rb +29 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_object_spec.rb +61 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_primitive_object_spec.rb +33 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_reference_object_spec.rb +17 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/c_single_attribute_spec.rb +28 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/cardinality_spec.rb +68 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/constraint_ref_spec.rb +29 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_boolean_spec.rb +52 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_date_spec.rb +80 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_date_time_spec.rb +106 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_duration_spec.rb +69 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_integer_spec.rb +62 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_primitive_spec.rb +39 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_real_spec.rb +14 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_string_spec.rb +69 -0
- data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_time_spec.rb +79 -0
- data/spec/lib/open_ehr/am/archetype/ontology/archetype_ontology_spec.rb +59 -0
- data/spec/lib/open_ehr/am/archetype/ontology/archetype_term_spec.rb +43 -0
- data/spec/lib/open_ehr/am/archetype/validity_kind_spec.rb +42 -0
- data/spec/lib/open_ehr/assumed_library_types/interval_spec.rb +140 -0
- data/spec/lib/open_ehr/assumed_library_types/iso8601_date_spec.rb +236 -0
- data/spec/lib/open_ehr/assumed_library_types/iso8601_date_time_spec.rb +47 -0
- data/spec/lib/open_ehr/assumed_library_types/iso8601_duration_spec.rb +150 -0
- data/spec/lib/open_ehr/assumed_library_types/iso8601_time_spec.rb +234 -0
- data/spec/lib/open_ehr/assumed_library_types/iso8601_timezone_spec.rb +57 -0
- data/spec/lib/open_ehr/assumed_library_types/time_definitions_spec.rb +136 -0
- data/spec/lib/open_ehr/rm/common/archetyped/archetyped_spec.rb +50 -0
- data/spec/lib/open_ehr/rm/common/archetyped/feeder_audit_details_spec.rb +60 -0
- data/spec/lib/open_ehr/rm/common/archetyped/feeder_audit_spec.rb +51 -0
- data/spec/lib/open_ehr/rm/common/archetyped/link_spec.rb +42 -0
- data/spec/lib/open_ehr/rm/common/archetyped/locatable_spec.rb +89 -0
- data/spec/lib/open_ehr/rm/common/archetyped/pathable_spec.rb +42 -0
- data/spec/lib/open_ehr/rm/common/change_control/contribution_spec.rb +56 -0
- data/spec/lib/open_ehr/rm/common/change_control/imported_version_spec.rb +63 -0
- data/spec/lib/open_ehr/rm/common/change_control/original_version_spec.rb +71 -0
- data/spec/lib/open_ehr/rm/common/change_control/version_spec.rb +92 -0
- data/spec/lib/open_ehr/rm/common/change_control/versioned_object_spec.rb +285 -0
- data/spec/lib/open_ehr/rm/common/directory/folder_spec.rb +26 -0
- data/spec/lib/open_ehr/rm/common/generic/attestation_spec.rb +62 -0
- data/spec/lib/open_ehr/rm/common/generic/audit_details_spec.rb +51 -0
- data/spec/lib/open_ehr/rm/common/generic/participation_spec.rb +36 -0
- data/spec/lib/open_ehr/rm/common/generic/party_identified_spec.rb +64 -0
- data/spec/lib/open_ehr/rm/common/generic/party_proxy_spec.rb +18 -0
- data/spec/lib/open_ehr/rm/common/generic/party_related_spec.rb +24 -0
- data/spec/lib/open_ehr/rm/common/generic/revision_history_item_spec.rb +43 -0
- data/spec/lib/open_ehr/rm/common/generic/revision_history_spec.rb +45 -0
- data/spec/lib/open_ehr/rm/common/resource/authored_resource_spec.rb +68 -0
- data/spec/lib/open_ehr/rm/common/resource/resource_description_item_spec.rb +105 -0
- data/spec/lib/open_ehr/rm/common/resource/resource_description_spec.rb +74 -0
- data/spec/lib/open_ehr/rm/common/resource/translation_details_spec.rb +35 -0
- data/spec/lib/open_ehr/rm/composition/composition_spec.rb +92 -0
- data/spec/lib/open_ehr/rm/composition/content/content_item_spec.rb +14 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/action_spec.rb +69 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/activity_spec.rb +61 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/admin_entry_spec.rb +38 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/care_entry_spec.rb +37 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/entry_spec.rb +88 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/evaluation_spec.rb +37 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/instruction_details_spec.rb +51 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/instruction_spec.rb +62 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/ism_transition_spec.rb +46 -0
- data/spec/lib/open_ehr/rm/composition/content/entry/observation_spec.rb +45 -0
- data/spec/lib/open_ehr/rm/composition/content/navigation/section_spec.rb +32 -0
- data/spec/lib/open_ehr/rm/composition/event_context_spec.rb +88 -0
- data/spec/lib/open_ehr/rm/data_structures/data_structure_spec.rb +21 -0
- data/spec/lib/open_ehr/rm/data_structures/history/event_spec.rb +44 -0
- data/spec/lib/open_ehr/rm/data_structures/history/history_spec.rb +67 -0
- data/spec/lib/open_ehr/rm/data_structures/history/interval_event_spec.rb +43 -0
- data/spec/lib/open_ehr/rm/data_structures/item_structure/item_list_spec.rb +53 -0
- data/spec/lib/open_ehr/rm/data_structures/item_structure/item_single_spec.rb +29 -0
- data/spec/lib/open_ehr/rm/data_structures/item_structure/item_table_spec.rb +147 -0
- data/spec/lib/open_ehr/rm/data_structures/item_structure/item_tree_spec.rb +48 -0
- data/spec/lib/open_ehr/rm/data_structures/item_structure/representation/cluster_spec.rb +26 -0
- data/spec/lib/open_ehr/rm/data_structures/item_structure/representation/element_spec.rb +22 -0
- data/spec/lib/open_ehr/rm/data_types/basic/data_value_spec.rb +17 -0
- data/spec/lib/open_ehr/rm/data_types/basic/dv_boolean_spec.rb +29 -0
- data/spec/lib/open_ehr/rm/data_types/basic/dv_identifier_spec.rb +108 -0
- data/spec/lib/open_ehr/rm/data_types/basic/dv_state_spec.rb +44 -0
- data/spec/lib/open_ehr/rm/data_types/encapsulated/dv_encapsulated_spec.rb +42 -0
- data/spec/lib/open_ehr/rm/data_types/encapsulated/dv_multimedia_spec.rb +79 -0
- data/spec/lib/open_ehr/rm/data_types/encapsulated/dv_parsable_spec.rb +34 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/date_time/dv_date_spec.rb +64 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/date_time/dv_date_time_spec.rb +25 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/date_time/dv_tempral_spec.rb +24 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/date_time/dv_time_spec.rb +37 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_absolute_quantity_spec.rb +35 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_amount_spec.rb +105 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_count_spec.rb +12 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_interval_spec.rb +17 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_ordered_spec.rb +60 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_ordinal_spec.rb +74 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_proportion_spec.rb +162 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_quantified_spec.rb +36 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/dv_quantity_spec.rb +78 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/proportion_kind_spec.rb +24 -0
- data/spec/lib/open_ehr/rm/data_types/quantity/reference_range_spec.rb +43 -0
- data/spec/lib/open_ehr/rm/data_types/text/code_phrase_spec.rb +23 -0
- data/spec/lib/open_ehr/rm/data_types/text/dv_paragraph_spec.rb +13 -0
- data/spec/lib/open_ehr/rm/data_types/text/dv_text_spec.rb +57 -0
- data/spec/lib/open_ehr/rm/data_types/text/term_mapping_spec.rb +59 -0
- data/spec/lib/open_ehr/rm/data_types/uri/dv_ehr_uri_spec.rb +21 -0
- data/spec/lib/open_ehr/rm/data_types/uri/dv_uri_spec.rb +36 -0
- data/spec/lib/open_ehr/rm/demographic/actor_spec.rb +79 -0
- data/spec/lib/open_ehr/rm/demographic/address_spec.rb +33 -0
- data/spec/lib/open_ehr/rm/demographic/capability_spec.rb +37 -0
- data/spec/lib/open_ehr/rm/demographic/contact_spec.rb +45 -0
- data/spec/lib/open_ehr/rm/demographic/party_identity_spec.rb +32 -0
- data/spec/lib/open_ehr/rm/demographic/party_relationship_spec.rb +84 -0
- data/spec/lib/open_ehr/rm/demographic/party_spec.rb +133 -0
- data/spec/lib/open_ehr/rm/demographic/role_spec.rb +58 -0
- data/spec/lib/open_ehr/rm/ehr/ehr_access_spec.rb +33 -0
- data/spec/lib/open_ehr/rm/ehr/ehr_spec.rb +139 -0
- data/spec/lib/open_ehr/rm/ehr/ehr_status_spec.rb +52 -0
- data/spec/lib/open_ehr/rm/ehr/versioned_composition_spec.rb +33 -0
- data/spec/lib/open_ehr/rm/integration/generic_entry_spec.rb +31 -0
- data/spec/lib/open_ehr/rm/support/identification/access_group_ref_spec.rb +19 -0
- data/spec/lib/open_ehr/rm/support/identification/archetype_id_spec.rb +152 -0
- data/spec/lib/open_ehr/rm/support/identification/generic_id_spec.rb +33 -0
- data/spec/lib/open_ehr/rm/support/identification/hier_object_id_spec.rb +12 -0
- data/spec/lib/open_ehr/rm/support/identification/internet_id_spec.rb +12 -0
- data/spec/lib/open_ehr/rm/support/identification/iso_oid_spec.rb +12 -0
- data/spec/lib/open_ehr/rm/support/identification/locatable_ref_spec.rb +34 -0
- data/spec/lib/open_ehr/rm/support/identification/object_id_spec.rb +24 -0
- data/spec/lib/open_ehr/rm/support/identification/object_ref_spec.rb +33 -0
- data/spec/lib/open_ehr/rm/support/identification/object_version_id_spec.rb +60 -0
- data/spec/lib/open_ehr/rm/support/identification/party_ref_spec.rb +29 -0
- data/spec/lib/open_ehr/rm/support/identification/template_id_spec.rb +12 -0
- data/spec/lib/open_ehr/rm/support/identification/terminology_id_spec.rb +33 -0
- data/spec/lib/open_ehr/rm/support/identification/uid_based_id_spec.rb +50 -0
- data/spec/lib/open_ehr/rm/support/identification/uid_spec.rb +29 -0
- data/spec/lib/open_ehr/rm/support/identification/version_tree_id_spec.rb +104 -0
- data/spec/lib/open_ehr/rm/support/measurement_service_spec.rb +7 -0
- data/spec/lib/open_ehr/rm/support/terminology_service_spec.rb +24 -0
- data/spec/lib/open_ehr/serializer/adl-test-entry.most_minimal.test.adl +20 -0
- data/spec/lib/open_ehr/serializer/adl_serializer_spec.rb +47 -0
- data/spec/lib/open_ehr/serializer/openEHR-EHR-SECTION.test.v1.adl +38 -0
- data/spec/lib/open_ehr/serializer/openEHR-EHR-SECTION.test.v1.xml +58 -0
- data/spec/lib/open_ehr/serializer/sample_archetype_spec.rb +44 -0
- data/spec/lib/open_ehr/serializer/xml_serializer_spec.rb +49 -0
- data/spec/lib/open_ehr/terminology/open_ehr_terminology_spec.rb +40 -0
- data/spec/rcov.opts +1 -0
- data/spec/spec.opts +5 -0
- data/spec/spec_helper.rb +54 -0
- metadata +401 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::Assertion
|
3
|
+
|
4
|
+
describe ExprUnaryOperator do
|
5
|
+
before(:each) do
|
6
|
+
operator = OperatorKind.new(:value => 2001)
|
7
|
+
operand = stub(ExprItem, :type => 'Real')
|
8
|
+
@expr_unary_operator =
|
9
|
+
ExprUnaryOperator.new(:type => 'Integer',
|
10
|
+
:item => 'ANY',
|
11
|
+
:reference_type => 'operator',
|
12
|
+
:operator => operator,
|
13
|
+
:precedence_overridden => true,
|
14
|
+
:operand => operand)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'operand shoud be assigned properly' do
|
18
|
+
@expr_unary_operator.operand.type.should == 'Real'
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should raise ArgumentError when operand is nil' do
|
22
|
+
lambda {
|
23
|
+
@expr_unary_operator.operand = nil
|
24
|
+
}.should raise_error ArgumentError
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::Assertion
|
3
|
+
|
4
|
+
describe OperatorKind do
|
5
|
+
it 'op_eq should be equal 2001' do
|
6
|
+
OperatorKind::OP_EQ.should be_equal 2001
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'op_ne should be equal 2002' do
|
10
|
+
OperatorKind::OP_NE.should be_equal 2002
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'op_le should be equal 2004' do
|
14
|
+
OperatorKind::OP_LE.should be_equal 2003
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'op_lt should be equal 2004' do
|
18
|
+
OperatorKind::OP_LT.should be_equal 2004
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'op_ge should be equal 2005' do
|
22
|
+
OperatorKind::OP_GE.should be_equal 2005
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'op_gt should be equal 2006' do
|
26
|
+
OperatorKind::OP_GT.should be_equal 2006
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'op_not should be equal 2010' do
|
30
|
+
OperatorKind::OP_NOT.should be_equal 2010
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'op_and should be equal 2011' do
|
34
|
+
OperatorKind::OP_AND.should be_equal 2011
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'op_or should be equal 2012' do
|
38
|
+
OperatorKind::OP_OR.should be_equal 2012
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'op_xor should be equal 2013' do
|
42
|
+
OperatorKind::OP_XOR.should be_equal 2013
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'op_implies should be equal 2014' do
|
46
|
+
OperatorKind::OP_IMPLIES.should be_equal 2014
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'op_for_all should be equal 2015' do
|
50
|
+
OperatorKind::OP_FOR_ALL.should be_equal 2015
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'op_exists should be equal 2016' do
|
54
|
+
OperatorKind::OP_EXISTS.should be_equal 2016
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'op_plus should be equal 2020' do
|
58
|
+
OperatorKind::OP_PLUS.should be_equal 2020
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'op_minus should be equal 2021' do
|
62
|
+
OperatorKind::OP_MINUS.should be_equal 2021
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'op_multiply should be equal 2022' do
|
66
|
+
OperatorKind::OP_MULTIPLY.should be_equal 2022
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'op_divide should be equal 2023' do
|
70
|
+
OperatorKind::OP_DIVIDE.should be_equal 2023
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'op_exp should be equal 2024' do
|
74
|
+
OperatorKind::OP_EXP.should be_equal 2024
|
75
|
+
end
|
76
|
+
|
77
|
+
it '2000 should not be valid operator' do
|
78
|
+
OperatorKind.should_not be_valid_operator 2000
|
79
|
+
end
|
80
|
+
|
81
|
+
it '2001 should be valid operator' do
|
82
|
+
OperatorKind.should be_valid_operator 2001
|
83
|
+
end
|
84
|
+
|
85
|
+
it '2024 should be valid operator' do
|
86
|
+
OperatorKind.should be_valid_operator 2024
|
87
|
+
end
|
88
|
+
|
89
|
+
it '2025 should not be valid operator' do
|
90
|
+
OperatorKind.should_not be_valid_operator 2025
|
91
|
+
end
|
92
|
+
|
93
|
+
describe 'value should be assigned' do
|
94
|
+
before(:each) do
|
95
|
+
@operator_kind = OperatorKind.new(:value => 2001)
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'value should be assigned' do
|
99
|
+
@operator_kind.value.should be_equal 2001
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'should raise ArgumentError with invalid value' do
|
103
|
+
lambda {
|
104
|
+
@operator_kind.value = 10001
|
105
|
+
}.should raise_error ArgumentError
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
|
4
|
+
describe ArchetypeConstraint do
|
5
|
+
before(:each) do
|
6
|
+
parent = stub(ArchetypeConstraint, :path => '/data/[at0001]')
|
7
|
+
@archetype_constraint =
|
8
|
+
ArchetypeConstraint.new(:path => '/data/events[at0003]/data/items[at0025]/value/magnitude',
|
9
|
+
:parent => parent)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should be an instance of ArchetypeConstraint' do
|
13
|
+
@archetype_constraint.should be_an_instance_of ArchetypeConstraint
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'path should be assigned properly' do
|
17
|
+
@archetype_constraint.path.should == '/data/events[at0003]/data/items[at0025]/value/magnitude'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should raise ArgumentError when path is not assigned' do
|
21
|
+
lambda {
|
22
|
+
@archetype_constraint.path = nil
|
23
|
+
}.should raise_error ArgumentError
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'has_path? should return true if it has path' do
|
27
|
+
@archetype_constraint.should have_path 'events[at0003]'
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'has_path? should return false if ti does not have path' do
|
31
|
+
@archetype_constraint.should_not have_path 'events[at0004]'
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'parent should assigned properly' do
|
35
|
+
@archetype_constraint.parent.path.should == '/data/[at0001]'
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'is congruent means this node starts from parent node' do
|
39
|
+
@archetype_constraint.should_not be_congruent
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'is congruent when path starts with parent path' do
|
43
|
+
@archetype_constraint.path = '/data/[at0001]/test'
|
44
|
+
@archetype_constraint.should be_congruent
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'node_conforms_to return true if path is follower' do
|
48
|
+
other = stub(ArchetypeConstraint, :path => '/data/events[at0003]')
|
49
|
+
@archetype_constraint.node_conforms_to?(other).should be_true
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'node_conforms_to return false if path is other lineage' do
|
53
|
+
other = stub(ArchetypeConstraint, :path => '/event/')
|
54
|
+
@archetype_constraint.node_conforms_to?(other).should be_false
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe ArchetypeInternalRef do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
@archetype_internal_ref =
|
9
|
+
ArchetypeInternalRef.new(:path => '/event/[at0001]/',
|
10
|
+
:rm_type_name => 'DV_TIME',
|
11
|
+
:node_id => 'ac0001',
|
12
|
+
:occurrences => occurrences,
|
13
|
+
:target_path => '/data/[at0002]')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should be an instance of ArchetypeInternalRef' do
|
17
|
+
@archetype_internal_ref.should be_an_instance_of ArchetypeInternalRef
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'target_path should be assigned properly' do
|
21
|
+
@archetype_internal_ref.target_path.should == '/data/[at0002]'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should raise ArgumentError when target_path is nil.' do
|
25
|
+
lambda {
|
26
|
+
@archetype_internal_ref.target_path = nil
|
27
|
+
}.should raise_error ArgumentError
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should raise ArgumentError when target_path is empty.' do
|
31
|
+
lambda {
|
32
|
+
@archetype_internal_ref.target_path = ''
|
33
|
+
}.should raise_error ArgumentError
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe ArchetypeSlot do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
includes = stub(Set, :empty? => false, :size => 2)
|
9
|
+
excludes = stub(Set, :empty? => false, :size => 10)
|
10
|
+
@archetype_slot = ArchetypeSlot.new(:path => '/event/[at0001]/',
|
11
|
+
:rm_type_name => 'DV_TIME',
|
12
|
+
:node_id => 'ac0001',
|
13
|
+
:occurrences => occurrences,
|
14
|
+
:includes => includes,
|
15
|
+
:excludes => excludes)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should be an instance of ArchetypeSlot' do
|
19
|
+
@archetype_slot.should be_an_instance_of ArchetypeSlot
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'includes should be assigned properly' do
|
23
|
+
@archetype_slot.includes.size.should be_equal 2
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should raise ArgumentError when includes are empty' do
|
27
|
+
lambda {
|
28
|
+
@archetype_slot.includes = Set.new
|
29
|
+
}.should raise_error ArgumentError
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'excludes should be assigned properly' do
|
33
|
+
@archetype_slot.excludes.size.should be_equal 10
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should raise ArgumentError when excludes are empty' do
|
37
|
+
lambda {
|
38
|
+
@archetype_slot.excludes = Set.new
|
39
|
+
}.should raise_error ArgumentError
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'any_allowed should be false when includes and excludes are not nil' do
|
43
|
+
@archetype_slot.should_not be_any_allowed
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'any_allowed should be false when includes are nil and excludes are not nil' do
|
47
|
+
@archetype_slot.includes = nil
|
48
|
+
@archetype_slot.should_not be_any_allowed
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'any_allowed should be false when includes are not nil and excludes are nil' do
|
52
|
+
@archetype_slot.excludes = nil
|
53
|
+
@archetype_slot.should_not be_any_allowed
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'any_allowed should be true when includes and excludes are nil' do
|
57
|
+
@archetype_slot.includes = nil
|
58
|
+
@archetype_slot.excludes = nil
|
59
|
+
@archetype_slot.should be_any_allowed
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CAttribute do
|
6
|
+
before(:each) do
|
7
|
+
existence = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
children = stub(CObject, :rm_type_name => 'DV_AMOUNT')
|
9
|
+
@c_attribute = CAttribute.new(:path => '/event/[at0001]/',
|
10
|
+
:rm_attribute_name => 'DV_TEXT',
|
11
|
+
:existence => existence,
|
12
|
+
:children => children)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should be an instance of CAttribute' do
|
16
|
+
@c_attribute.should be_an_instance_of CAttribute
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'rm_attribute_name should be assigned properly' do
|
20
|
+
@c_attribute.rm_attribute_name.should == 'DV_TEXT'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should raise ArguemntError rm_attribute_name is empty' do
|
24
|
+
lambda {
|
25
|
+
@c_attribute.rm_attribute_name = ''
|
26
|
+
}.should raise_error ArgumentError
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should raise ArgumentError rm_attribute_name is nil' do
|
30
|
+
lambda {
|
31
|
+
@c_attribute.rm_attribute_name = nil
|
32
|
+
}.should raise_error ArgumentError
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'existence should be assigned properly' do
|
36
|
+
@c_attribute.existence.lower.should be_equal 0
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'existence.lower should be more than 0' do
|
40
|
+
invalid_existence = Interval.new(:lower => -1, :upper => 1)
|
41
|
+
lambda {
|
42
|
+
@c_attribute.existence = invalid_existence
|
43
|
+
}.should raise_error ArgumentError
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'existence.upper should be equal or less than 1' do
|
47
|
+
invalid_existence = Interval.new(:lower => 0, :upper => 2)
|
48
|
+
lambda {
|
49
|
+
@c_attribute.existence = invalid_existence
|
50
|
+
}.should raise_error ArgumentError
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'children should be assigned properly' do
|
54
|
+
@c_attribute.children.rm_type_name.should == 'DV_AMOUNT'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CComplexObject do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
9
|
+
attributes = stub(Set, :empty? => false, :size => 3)
|
10
|
+
@c_complex_object = CComplexObject.new(:path => '/event/[at0001]/',
|
11
|
+
:rm_type_name => 'DV_TIME',
|
12
|
+
:node_id => 'ac0001',
|
13
|
+
:occurrences => occurrences,
|
14
|
+
:attributes => attributes)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should be an instance of CComplexObject' do
|
18
|
+
@c_complex_object.should be_an_instance_of CComplexObject
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'attributes should be assigned properly' do
|
22
|
+
@c_complex_object.attributes.size.should be_equal 3
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'any_allowed should be false when attributes are not empty' do
|
26
|
+
@c_complex_object.should_not be_any_allowed
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
it 'any_allowed should be true when attributes are nil' do
|
31
|
+
@c_complex_object.attributes = nil
|
32
|
+
@c_complex_object.should be_any_allowed
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'any_allowed should be true when attributes are empty' do
|
36
|
+
@c_complex_object.attributes = Set.new
|
37
|
+
@c_complex_object.should be_any_allowed
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CDefinedObject do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
9
|
+
@c_defined_object = CDefinedObject.new(:path => '/event/[at0001]/',
|
10
|
+
:rm_type_name => 'DV_TIME',
|
11
|
+
:node_id => 'ac0001',
|
12
|
+
:occurrences => occurrences,
|
13
|
+
:assumed_value => 'ANY')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should be an instance of CDefinedObject' do
|
17
|
+
@c_defined_object.should be_an_instance_of CDefinedObject
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should be assigned properly' do
|
21
|
+
@c_defined_object.assumed_value.should == 'ANY'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'has_assumed_value should be true' do
|
25
|
+
@c_defined_object.should have_assumed_value
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'has_assumed_value should not be true' do
|
29
|
+
@c_defined_object.assumed_value = nil
|
30
|
+
@c_defined_object.should_not have_assumed_value
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'default_value should raise NotImplementedError' do
|
34
|
+
lambda {
|
35
|
+
@c_defined_object.default_value
|
36
|
+
}.should raise_error NotImplementedError
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'valid_value should raise NotImplementedError' do
|
40
|
+
lambda {
|
41
|
+
@c_defined_object.valid_value?(1)
|
42
|
+
}.should raise_error NotImplementedError
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'any_allowed should raise NotImplementedError' do
|
46
|
+
lambda {
|
47
|
+
@c_defined_object.any_allowed?
|
48
|
+
}.should raise_error NotImplementedError
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CDomainType do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
9
|
+
@c_domain_type = CDomainType.new(:path => '/event/[at0001]/',
|
10
|
+
:rm_type_name => 'DV_TIME',
|
11
|
+
:node_id => 'ac0001',
|
12
|
+
:occurrences => occurrences)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should be an instance of CDomainType' do
|
16
|
+
@c_domain_type.should be_an_instance_of CDomainType
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'standard_equivalent should raise NotImplementedError' do
|
20
|
+
lambda {
|
21
|
+
@c_domain_type.standard_equivalent
|
22
|
+
}.should raise_error NotImplementedError
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CMultipleAttribute do
|
6
|
+
before(:each) do
|
7
|
+
existence = Interval.new(:upper =>0, :lower => 0)
|
8
|
+
cardinality = stub(Cardinality, :ordered? => true)
|
9
|
+
@c_multiple_attribute =
|
10
|
+
CMultipleAttribute.new(:path => '/event/at001',
|
11
|
+
:rm_attribute_name => 'DV_DATE',
|
12
|
+
:existence => existence,
|
13
|
+
:cardinality => cardinality)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should be an instance of CMulitipleAttribute' do
|
17
|
+
@c_multiple_attribute.should be_an_instance_of CMultipleAttribute
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'cardinality should be assigned properly' do
|
21
|
+
@c_multiple_attribute.cardinality.should be_ordered
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should raise ArgumentError when cardinality is nil' do
|
25
|
+
lambda {
|
26
|
+
@c_multiple_attribute.cardinality = nil
|
27
|
+
}.should raise_error ArgumentError
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CObject do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
9
|
+
@c_object = CObject.new(:path => '/event/[at0001]/',
|
10
|
+
:rm_type_name => 'DV_TIME',
|
11
|
+
:node_id => 'ac0001',
|
12
|
+
:occurrences => occurrences,
|
13
|
+
:parent => parent)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should be an instance of CObject' do
|
17
|
+
@c_object.should be_an_instance_of CObject
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'rm_type_name should be assigned properly' do
|
21
|
+
@c_object.rm_type_name.should == 'DV_TIME'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should raise ArgumentError when rm_type_name was assigned nil' do
|
25
|
+
lambda {
|
26
|
+
@c_object.rm_type_name = nil
|
27
|
+
}.should raise_error ArgumentError
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should raise ArgumentError when rm_type_name was assigned empty' do
|
31
|
+
lambda {
|
32
|
+
@c_object.rm_type_name = ''
|
33
|
+
}.should raise_error ArgumentError
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'node_id should be assigned properly' do
|
37
|
+
@c_object.node_id.should == 'ac0001'
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should raise ArgumentError when node_id was assigned nil' do
|
41
|
+
lambda {
|
42
|
+
@c_object.node_id = nil
|
43
|
+
}.should raise_error ArgumentError
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should raise ArgumentError when node_id was assigned empty' do
|
47
|
+
lambda {
|
48
|
+
@c_object.node_id = ''
|
49
|
+
}.should raise_error ArgumentError
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'occurences should be assigned properly' do
|
53
|
+
@c_object.occurrences.lower.should be_equal 0
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should raise ArgumentError when occurences was assigned nil' do
|
57
|
+
lambda {
|
58
|
+
@c_object.occurrences = nil
|
59
|
+
}.should raise_error ArgumentError
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
4
|
+
include OpenEHR::AssumedLibraryTypes
|
5
|
+
|
6
|
+
describe CPrimitiveObject do
|
7
|
+
before(:each) do
|
8
|
+
interval = Interval.new(:lower => 0, :upper => 1)
|
9
|
+
item = stub(CPrimitive, :node_id => 'at0001')
|
10
|
+
@c_primitive_object = CPrimitiveObject.new(:path => 'event/test',
|
11
|
+
:rm_type_name => 'DV_TEXT',
|
12
|
+
:node_id => 'ac0001',
|
13
|
+
:occurrences => interval,
|
14
|
+
:item => item)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should be an instance of CPrimitiveObject' do
|
18
|
+
@c_primitive_object.should be_an_instance_of CPrimitiveObject
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'item should be assigned properly' do
|
22
|
+
@c_primitive_object.item.node_id.should == 'at0001'
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should allowed any' do
|
26
|
+
@c_primitive_object.should_not be_any_allowed
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should not any allowed' do
|
30
|
+
@c_primitive_object.item = nil
|
31
|
+
@c_primitive_object.should be_any_allowed
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CReferenceObject do
|
6
|
+
before(:each) do
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
8
|
+
@c_reference_object = CReferenceObject.new(:path => '/event/[at0001]/',
|
9
|
+
:rm_type_name => 'DV_TIME',
|
10
|
+
:node_id => 'ac0001',
|
11
|
+
:occurrences => occurrences)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should be an instance of CReferenceObject' do
|
15
|
+
@c_reference_object.should be_an_instance_of CReferenceObject
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
4
|
+
|
5
|
+
describe CSingleAttribute do
|
6
|
+
before(:each) do
|
7
|
+
existence = Interval.new(:upper =>0, :lower => 0)
|
8
|
+
alternatives = stub(Array, :size => 5)
|
9
|
+
@c_single_attribute = CSingleAttribute.new(:path => '/event/at001',
|
10
|
+
:rm_attribute_name => 'DV_DATE',
|
11
|
+
:existence => existence,
|
12
|
+
:alternatives => alternatives)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should be an instance of CSingleAttribute' do
|
16
|
+
@c_single_attribute.should be_an_instance_of CSingleAttribute
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'alternative should be assigned properly' do
|
20
|
+
@c_single_attribute.alternatives.size.should be_equal 5
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should raise ArgumentError when alternative is nil' do
|
24
|
+
lambda {
|
25
|
+
@c_single_attribute.alternatives = nil
|
26
|
+
}.should raise_error ArgumentError
|
27
|
+
end
|
28
|
+
end
|