#\#CIF_2.0
##############################################################################
#                                                                            #
#   FAKE DICTIONARY WITH DATA ITEM DESCRIPTIONS THAT CONTAIN REFERENCES TO   #
#               OTHER DATA ITEMS. USED FOR TESTING PURPOSES                  #
#                                                                            #
##############################################################################
data_FAKE_DESCRIPTION_DIC
_dictionary.title            FAKE_DESCRIPTION_DIC
_dictionary.class            Instance
_dictionary.version          0.2.0
_dictionary.date             2022-05-02
_dictionary.uri              http://www.fake.org/description.dic
_dictionary.ddl_conformance  3.13.1
_dictionary.namespace        FakeDescrptionDic
_description.text
;
 This dictionary purposely contains data item definitions with
 text descriptions that contain references to other data items.
 Used for testing purposes.
;
loop_
_dictionary_audit.version
_dictionary_audit.date
_dictionary_audit.revision
0.1.0 2020-10-12 'Creating the dictionary.'
0.2.0 2022-05-02 'Added test cases for the DESCRIPTION_EXAMPLE category.'

save_DESCRIPTION_HEAD
_definition.id               DESCRIPTION_HEAD
_definition.scope            Category
_definition.class            HEAD
_definition.update           2019-02-11
_description.text
;
 The HEAD category of the dictionary.
;
_name.category_id            FAKE_DESCRIPTION_DIC
_name.object_id              DESCRIPTION_HEAD
save_

save_DESCRIPTION_CATEGORY
_definition.id               DESCRIPTION_CATEGORY
_definition.scope            Category
_definition.class            Set
_definition.update           2019-02-11
_description.text
;
 Data items in the DESCRIPTION_CATEGORY category have text descriptions
 that contain references to other data items.
;
_name.category_id            DESCRIPTION_HEAD
_name.object_id              DESCRIPTION
save_

save_description_category.placeholder
_definition.id               '_description_category.placeholder'
_definition.update            2019-02-11
_description.text
;
 Data item that is used as a test reference object for other
 data items.
;
_name.category_id             description_category
_name.object_id               placeholder
_type.purpose                 Describe
_type.source                  Assigned
_type.container               Single
_type.contents                Text
save_

save_description_category.proper_text_refrences
_definition.id               '_description_category.proper_text_refrences'
_definition.update            2019-02-11
_description.text
;
 Data item that references the DESCRIPTION_CATEGORY category and the
 _description_category.placeholder data item.

The newline symbol should also be properly treated as a word separator
 and not as part of the potential data name, i.e. DESCRIPTION_CATEGORY
should not be properly recognised.
;
_name.category_id             description_category
_name.object_id               proper_text_refrences
_type.purpose                 Describe
_type.source                  Assigned
_type.container               Single
_type.contents                Text
save_

save_description_category.incorrect_text_refrences
_definition.id               '_description_category.incorrect_text_refrences'
_definition.update            2019-02-11
_description.text
;
 Data item that references the DESCRIPTIONS_CATEGORY category and the
 _description.placeholders data item.
;
_name.category_id             description_category
_name.object_id               incorrect_text_refrences
_type.purpose                 Describe
_type.source                  Assigned
_type.container               Single
_type.contents                Text
save_

save_description_category.no_description_text
_definition.id               '_description_category.no_description_text'
_definition.update            2020-10-12
_name.category_id             description_category
_name.object_id               no_description_text
_type.purpose                 Describe
_type.source                  Assigned
_type.container               Single
_type.contents                Text
save_

save_description_category.proper_enumeration_details

_definition.id               '_description_category.proper_enumeration_details'
_definition.update            2020-10-12
_name.category_id             description_category
_name.object_id               proper_enumeration_details
_type.purpose                 State
_type.source                  Assigned
_type.container               Single
_type.contents                Text
    loop_
      _enumeration_set.state
      _enumeration_set.detail
      One
;
    No reference.
;
      Two
;
    Proper item reference: _description_category.proper_text_refrences.
;
      Three
;
    Proper category reference: DESCRIPTION_CATEGORY.
;

save_

save_description_category.improper_enumeration_details

_definition.id               '_description_category.improper_enumeration_details'
_definition.update            2020-10-12
_name.category_id             description_category
_name.object_id               improper_enumeration_details
_type.purpose                 State
_type.source                  Assigned
_type.container               Single
_type.contents                Text
    loop_
      _enumeration_set.state
      _enumeration_set.detail
      One
;
    No reference.
;
      Two
;
    Improper item reference: _item.not_defined.
;
      Three
;
    Improper category reference: UNDEFINED_CATEGORY.
;

save_

save_EXAMPLE_CATEGORY
_definition.id               EXAMPLE_CATEGORY
_definition.scope            Category
_definition.class            Set
_definition.update           2022-05-02
_description.text
;
 Data items in the EXAMPLE_CATEGORY category have examples that contain
 references to other data items.
;
_name.category_id            DESCRIPTION_HEAD
_name.object_id              EXAMPLE_CATEGORY
loop_
_description_example.case
_description_example.detail
# Case 1.
# No unrecognised data names.
    Value
    'No data name.'
# Case 2.
# Unrecognised data names in the '_description_example.detail'
# should be reported.
    Value
    'Unrecognised data name _data_name_[REPORT][1]'
# Case 3.
# Unrecognised data names in the '_description_example.case'
# should be reported in data item definitions.
    'Unrecognised _data_name_[REPORT][2]'
    'Description without data names.'
# Case 4.
# Unrecognised data names should be reported in both data items.
    '_data_name_[REPORT][3]'
    '_data_name_[REPORT][4]'
# Case 5.
# Unrecognised data names should be reported in both data items.
    'Category UNKNOWN_CATEGORY_[REPORT][5]'
    'Category UNKNOWN_CATEGORY_[REPORT][6]'
# Case 6.
# All unrecognised data names that appear in a value should be reported.
# The "loop_" keywords should be ignored.
;
    loop_
    _data_name_[REPORT][7]
    UNKNOWN_CATEGORY_[REPORT][8]
;
;
    loop_
    _data_name_[REPORT][9]
    UNKNOWN_CATEGORY_[REPORT][10]
;
# Case 7.
# Recognised data names should not be reported.
    '_description_category.no_description_text'
    '_description_category.no_description_text'
# Case 8.
# Recognised category names should not be reported.
    DESCRIPTION_CATEGORY
    DESCRIPTION_CATEGORY
save_

save_example_category.item_with_examples
_definition.id               '_example_category.item_with_examples'
_definition.update            2022-05-02
_description.text
;
 Data item that is used as a test reference object for other
 data items.
;
_name.category_id             example_category
_name.object_id               item_with_examples
_type.purpose                 Describe
_type.source                  Assigned
_type.container               Single
_type.contents                Text
loop_
_description_example.case
_description_example.detail
# Case 1.
# No unrecognised data names.
    Value
    'No data name.'
# Case 2.
# Unrecognised data names in the '_description_example.detail'
# should be reported.
    Value
    'Unrecognised data name _data_name_[REPORT][1]'
# Case 3.
# Unrecognised data names in the '_description_example.case'
# should not be reported in data item definitions.
    'Unrecognised _data_name_[IGNORE][1]'
    'Description without data names.'
# Case 4.
# Unrecognised data names should only be reported in
# the '_description_example.detail' data item.
    '_data_name_[IGNORE][2]'
    '_data_name_[REPORT][2]'
# Case 5.
# Unrecognised data names should only be reported in
# the '_description_example.detail' data item.
    'Category UNKNOWN_CATEGORY_[IGNORE][3]'
    'Category UNKNOWN_CATEGORY_[REPORT][3]'
# Case 6.
# All unrecognised data names that appear in a value should be reported.
# The "loop_" keywords should be ignored.
;
    loop_
    _data_name_[IGNORE][4]
    UNKNOWN_CATEGORY_[IGNORE][5]
;
;
    loop_
    _data_name_[REPORT][4]
    UNKNOWN_CATEGORY_[REPORT][5]
;
# Case 7.
# Recognised data names should not be reported.
    '_description_category.no_description_text'
    '_description_category.no_description_text'
# Case 8.
# Recognised category names should not be reported.
    DESCRIPTION_CATEGORY
    DESCRIPTION_CATEGORY
save_
