#\#CIF_2.0
##############################################################################
#                                                                            #
#                  FAKE DICTIONARY FOR TESTING PURPOSES                      #
#                                                                            #
##############################################################################
data_FAKE_DIC

    _dictionary.title            FAKE_DIC
    _dictionary.class            Reference
#   _dictionary.version          0.0.1
    _dictionary.date             2018-05-30
    _dictionary.uri              http://www.fake.org/fake.dic
    _dictionary.ddl_conformance  3.11.10
    _dictionary.namespace        FakeDic
#    _description.text
#;
#     This dictionary contains fake definitions for validator testing purposes.
#;
_definition.id                  FAKE_DIC


    loop_
    _dictionary_audit.version
    _dictionary_audit.date
    _dictionary_audit.revision
    0.0.1 2018-05-30 'Creating the dictionary'

save_PARENT
    _definition.id               PARENT
    _definition.scope            Category
    _definition.class            Head
    _definition.update           2017-07-15
    _description.text
;
     This category is parent of all other categories in the FAKE_DIC
     dictionary.
;
    _name.category_id            FAKE_DIC
    _name.object_id              PARENT
save_

#============================================================================

save_CATEGORY

    _definition.id               CATEGORY
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2017-07-15
#    _description.text
#;
#     The attributes used to specify the aliased names of definitions.
#;
    _name.category_id            PARENT
#    _name.object_id              CATEGORY
    loop_
    _category_key.name
                                 '_category.item'

    _dictionary.title            CATEGORY
save_


save_fake.item

    _definition.id               '_category.item'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2017-07-15
    _description.text
;
     Identifier tag of an aliased definition.
;
    _name.category_id            category
#   _name.object_id              item
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Tag

    _dictionary.version          0.0.1
save_

save_LOOPED_CATEGORY_NO_KEY_ID
    _definition.id               LOOPED_CATEGORY_NO_KEY_ID
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-05-30
    _description.text
;
    A looped category that is not missing any of the mandatory data items.
;
    _name.category_id            PARENT
    _name.object_id              LOOPED_CATEGORY_NO_KEY_ID
    _category_key.name           '_looped_category_no_key_id.key'
save_

save_looped_category_no_key_id.key
    _definition.id               '_looped_category_no_key_id.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-05-30
    _description.text
;
     Data item that has the _category_key.name data item
     in its definition which is prohibited in the Item scope.
;
    _description.common
;
     Data item that has the _category_key.name data item
     in its definition which is prohibited in the Item scope.
;
    _name.category_id            looped_category_no_key_id
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
    _category_key.name           '_looped_category_no_key_id.key'
save_

save_LOOPED_CATEGORY_NO_KEY_NAME
    _definition.id               LOOPED_CATEGORY_NO_KEY_NAME
    _definition.scope            Category
    _definition.class            Loop
    _definition.update           2018-05-30
    _description.text
;
    A looped category that is missing the mandatory _category_key.name data
    item.
;
    _name.category_id            PARENT
    _name.object_id              LOOPED_CATEGORY_NO_KEY_NAME
#   _category_key.name           '_looped_category_no_key_name.key'
save_

save_looped_category_no_key_name.key
    _definition.id               '_looped_category_no_key_name.key'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-05-30
    _description.text
;
     Data item that has the _looped_category_no_key_name.key data item
     in its definition which is prohibited in the Item scope.
;
    _description.common
;
     Data item that has the _looped_category_no_key_name.key data item
     in its definition which is prohibited in the Item scope.
;
    _name.category_id            looped_category_no_key_name
    _name.object_id              key
    _type.purpose                Key
    _type.source                 Assigned
    _type.container              Single
    _type.contents               Integer
    _category_key.name           '_looped_category_no_key_id.key'
save_

save_looped_category_no_key_name.aliased_item
    _dictionary.title            FAKE_DIC
    _definition.id               '_looped_category_no_key_name.aliased_item'
    loop_
      _alias.definition_id
          '_looped_category_no_key_name.item_with_aliases'
    _definition.scope            Item
    _definition.class            Attribute
    _definition.update           2018-05-30
    _description.text
;
     Data item definition that is deficient in the following ways:
     - Contains the _dictionary.title attribute which is prohibited in the
       Item scope.
     - Does not contain the recommended _definition.source item.

     Also, note that even though this definition contains an alias, each issues
     should be reported only once.
;
    _description.common
;
     Data item definition that is deficient in the following ways:
     - Contains the _dictionary.title attribute which is prohibited in the
       Item scope.
     - Does not contain the recommended _definition.source item.

     Also, note that even though this definition contains an alias, each issues
     should be reported only once.
;
    _name.category_id            looped_category_no_key_name
    _name.object_id              aliased_item
    _type.purpose                Key
    _type.container              Single
    _type.contents               Integer
save_

save_SET_CATEGORY_WITH_NO_DESCRIPTION
    _definition.id               SET_CATEGORY_WITH_NO_DESCRIPTION
    _definition.scope            Category
    _definition.class            Set
    _definition.update           2018-05-30
#    _description.text
#;
#    A set category that is missing the recommended description.text data item.
#;
    _name.object_id              SET_CATEGORY_WITH_NO_DESCRIPTION
save_
