#\#CIF_2.0
##############################################################################
#                                                                            #
#       TEST DICTIONARY THAT CONTAINS DEFINITIONS WITH INCORRECTLY USED      #
#                        CATEGORY KEY NAME ATTRIBUTES                        #
#                                                                            #
##############################################################################
data_CATEGORY_KEY_NAME_DIC
_dictionary.title            TEST_CATEGORY_KEY_NAME_DIC
_dictionary.class            Instance
_dictionary.version          1.1.0
_dictionary.date             2022-07-25
_dictionary.uri              https://www.fake.org/test_category_key_name.dic
_dictionary.ddl_conformance  4.2.0
_dictionary.namespace        SoftwareTest
_description.text
;
 This dictionary purposely contains definitions with an incorrectly used
 '_category_key.name' attribute.
;
loop_
_dictionary_audit.version
_dictionary_audit.date
_dictionary_audit.revision
1.0.0 2021-10-13 'Initial release of the dictionary.'
1.1.0 2022-07-25
;
 Updated the examples to clearly state that categories with the 'Set'
 definition class are allowed to have the '_category_key.name' attribute.
;

save_TEST_CATEGORY_KEY_NAME_HEAD

_definition.id               TEST_CATEGORY_KEY_NAME_HEAD
_definition.scope            Category
_definition.class            HEAD
_definition.update           2021-10-13
_description.text
;
 The HEAD category of the dictionary.
;
_name.category_id            TEST_CATEGORY_KEY_NAME_DIC
_name.object_id              TEST_CATEGORY_KEY_NAME_HEAD

save_

save_VALID_CATEGORY_KEY_NAME

_definition.id               VALID_CATEGORY_KEY_NAME
_definition.scope            Category
_definition.class            Loop
_definition.update           2022-07-25
_description.text
;
 Definition of the VALID_CATEGORY_KEY_NAME category properly
 uses the '_category_key.name' attribute.
;
_name.category_id            TEST_CATEGORY_KEY_NAME_HEAD
_name.object_id              VALID_CATEGORY_KEY_NAME

loop_
_category_key.name
'_valid_category_key_name.item_1'
'_valid_category_key_name.item_2'
'_valid_category_key_name.item_3'

save_

save_valid_category_key_name.item_1

_definition.id               '_valid_category_key_name.item_1'
_definition.scope            Item
_definition.class            Datum
_definition.update           2021-10-13
_description.text
;
 Data item that serves as one of the keys of the VALID_CATEGORY_KEY_NAME
 category.
;
_name.category_id            valid_category_key_name
_name.object_id              item_1
_type.purpose                Describe
_type.source                 Assigned
_type.container              Single
_type.contents               Text

save_

save_valid_category_key_name.item_2

_definition.id               '_valid_category_key_name.item_2'
_definition.scope            Item
_definition.class            Datum
_definition.update           2021-10-13
_description.text
;
 Data item that serves as one of the keys of the VALID_CATEGORY_KEY_NAME
 category.
;
_name.category_id            valid_category_key_name
_name.object_id              item_2
_type.purpose                Describe
_type.source                 Assigned
_type.container              Single
_type.contents               Text

save_

save_valid_category_key_name.item_3

_definition.id               '_valid_category_key_name.item_3'
_definition.scope            Item
_definition.class            Datum
_definition.update           2021-10-13
_description.text
;
 Data item that serves as one of the keys of the VALID_CATEGORY_KEY_NAME
 category.
;
_name.category_id            valid_category_key_name
_name.object_id              item_3
_type.purpose                Describe
_type.source                 Assigned
_type.container              Single
_type.contents               Text

save_

save_VALID_SET_CATEGORY_KEY_NAME

_definition.id               VALID_SET_CATEGORY_KEY_NAME
_definition.scope            Category
_definition.class            Set
_definition.update           2022-07-25
_description.text
;
 The VALID_SET_CATEGORY_KEY_NAME category has the 'Set' definition class
 and properly uses the '_category_key.name' attribute.
;
_name.category_id            TEST_CATEGORY_KEY_NAME_HEAD
_name.object_id              VALID_SET_CATEGORY_KEY_NAME

loop_
_category_key.name
'_valid_set_category_key_name.key_item'

save_

save_valid_set_category_key_name.key_item

_definition.id               '_valid_set_category_key_name.key_item'
_definition.scope            Item
_definition.class            Datum
_definition.update           2022-07-25
_description.text
;
 Data item that serves as one of the keys of the VALID_SET_CATEGORY_KEY_NAME
 category.
;
_name.category_id            valid_set_category_key_name
_name.object_id              key_item
_type.purpose                Describe
_type.source                 Assigned
_type.container              Single
_type.contents               Text

save_

save_INVALID_CATEGORY_KEY_NAME

_definition.id               INVALID_CATEGORY_KEY_NAME
_definition.scope            Category
_definition.class            Loop
_definition.update           2021-10-13
_description.text
;
 Definition of the INVALID_CATEGORY_KEY_NAME category 
 misuses the '_category_key.name' attribute.
;
_name.category_id            TEST_CATEGORY_KEY_NAME_HEAD
_name.object_id              INVALID_CATEGORY_KEY_NAME

loop_
_category_key.name
'_undefined.item'
'_valid_category_key_name.item_2'

save_

save_INVALID_CATEGORY_KEY_NAME_IN_FUNCTION

_definition.id               INVALID_CATEGORY_KEY_NAME_IN_FUNCTION
_definition.scope            Category
_definition.class            Function
_definition.update           2022-07-25
_description.text
;
 Definition of the INVALID_CATEGORY_KEY_NAME_IN_FUNCTION category 
 contains the '_category_key.name' attribute even though the
 '_definition.class' attribute value is not 'Set' or 'Loop'.
;
_name.category_id            TEST_CATEGORY_KEY_NAME_HEAD
_name.object_id              INVALID_CATEGORY_KEY_NAME_IN_FUNCTION

loop_
_category_key.name
'_invalid_category_key_name_in_function.item'

save_

save_invalid_category_key_name_in_function.item

_definition.id               '_invalid_category_key_name_in_function.item'
_definition.scope            Item
_definition.class            Datum
_definition.update           2022-07-25
_description.text
;
 Data item that serves as one of the keys of
 the INVALID_CATEGORY_KEY_NAME_IN_FUNCTION category.
;
_name.category_id            invalid_category_key_name_in_function
_name.object_id              item
_type.purpose                Describe
_type.source                 Assigned
_type.container              Single
_type.contents               Text

save_
