Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests')
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.classpath7
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.project28
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.core.prefs296
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/META-INF/MANIFEST.MF22
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/about.html28
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/build.properties21
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/M.gifbin0 -> 912 bytes
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/O.gifbin0 -> 912 bytes
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/Values.gifbin0 -> 361 bytes
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/debug.gifbin0 -> 348 bytes
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.di2
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.notation107
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.uml195
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/MyPalette.palette22
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/cyclicAdvices.elementtypesconfigurations18
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/elementtypetest.elementtypesconfigurations108
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.di2
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.notation220
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.uml38
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/validAdvicesOrder.elementtypesconfigurations15
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/org.eclipse.papyrus.infra.types.tests.launch42
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.properties13
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.xml12
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/pom.xml15
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AbstractElementTypeTests.java197
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/Activator.java63
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AllTests.java26
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementEditHelperAdviceTests.java307
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementTypesRegistryTests.java41
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ITestConstants.java50
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice1.java20
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice2.java20
-rw-r--r--tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice3.java20
34 files changed, 2023 insertions, 0 deletions
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.classpath b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.project b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.project
new file mode 100644
index 00000000000..ba9a5dfdbe6
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.types.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..eb9bfba9949
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..3421a655037
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.uml.service.types;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.types.core;bundle-version="1.2.0",
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.papyrus.junit.framework;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.newchild;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0"
+Export-Package: org.eclipse.papyrus.infra.types.tests
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.infra.types.tests.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.infra.types.tests;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/about.html b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/build.properties b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/build.properties
new file mode 100644
index 00000000000..477c982e1d6
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/build.properties
@@ -0,0 +1,21 @@
+# Copyright (c) 2014 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ plugin.xml,\
+ model/,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/M.gif b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/M.gif
new file mode 100644
index 00000000000..f9a5b239d6c
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/M.gif
Binary files differ
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/O.gif b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/O.gif
new file mode 100644
index 00000000000..e6ce0916227
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/O.gif
Binary files differ
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/Values.gif b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/Values.gif
new file mode 100644
index 00000000000..f1f019535ea
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/Values.gif
Binary files differ
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/debug.gif b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/debug.gif
new file mode 100644
index 00000000000..ac5431fa311
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/icons/debug.gif
Binary files differ
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.di b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.notation b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.notation
new file mode 100644
index 00000000000..1d458586ccd
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.notation
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_fZB8QLhGEeS0cu6lbJ9jDQ" type="PapyrusUMLProfileDiagram" name="Main" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_624_kLhGEeS0cu6lbJ9jDQ" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6260wLhGEeS0cu6lbJ9jDQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6260wbhGEeS0cu6lbJ9jDQ" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6260wrhGEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6260w7hGEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6260xLhGEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6260xbhGEeS0cu6lbJ9jDQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_627b0LhGEeS0cu6lbJ9jDQ" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_627b0bhGEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_627b0rhGEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_627b07hGEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_627b1LhGEeS0cu6lbJ9jDQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="ElementTypesTestsProfile.profile.uml#_62vOkLhGEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_624_kbhGEeS0cu6lbJ9jDQ" x="319" y="232"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HZPs4LhHEeS0cu6lbJ9jDQ" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_HZPs4rhHEeS0cu6lbJ9jDQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_HZPs47hHEeS0cu6lbJ9jDQ" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_9VdsELhMEeSEVa3MHbyMkQ" type="3002">
+ <element xmi:type="uml:Property" href="ElementTypesTestsProfile.profile.uml#_9TmD0LhMEeSEVa3MHbyMkQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VeTILhMEeSEVa3MHbyMkQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Ckf8wLhNEeSEVa3MHbyMkQ" type="3002">
+ <element xmi:type="uml:Property" href="ElementTypesTestsProfile.profile.uml#_Ckc5cLhNEeSEVa3MHbyMkQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckf8wbhNEeSEVa3MHbyMkQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GO_RgLhNEeSEVa3MHbyMkQ" type="3002">
+ <element xmi:type="uml:Property" href="ElementTypesTestsProfile.profile.uml#_GO-qcLhNEeSEVa3MHbyMkQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GO_RgbhNEeSEVa3MHbyMkQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_p4wmULhNEeSEVa3MHbyMkQ" type="3002">
+ <element xmi:type="uml:Property" href="ElementTypesTestsProfile.profile.uml#_p4uxILhNEeSEVa3MHbyMkQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_p4wmUbhNEeSEVa3MHbyMkQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tFTa0LhNEeSEVa3MHbyMkQ" type="3002">
+ <element xmi:type="uml:Property" href="ElementTypesTestsProfile.profile.uml#_tFSMsLhNEeSEVa3MHbyMkQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tFTa0bhNEeSEVa3MHbyMkQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_HZPs5LhHEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_HZPs5bhHEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_HZPs5rhHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HZPs57hHEeS0cu6lbJ9jDQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_HZQT8LhHEeS0cu6lbJ9jDQ" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_HZQT8bhHEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_HZQT8rhHEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_HZQT87hHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HZQT9LhHEeS0cu6lbJ9jDQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="ElementTypesTestsProfile.profile.uml#_HZK0YLhHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HZPs4bhHEeS0cu6lbJ9jDQ" x="655" y="257" height="211"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PWJ5ELhHEeS0cu6lbJ9jDQ" type="2006">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PWKgILhHEeS0cu6lbJ9jDQ" type="5023"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PWKgIbhHEeS0cu6lbJ9jDQ" type="1063">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VgfUYLhHEeS0cu6lbJ9jDQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vgf7cLhHEeS0cu6lbJ9jDQ" key="collapsed" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_2Z2IULhNEeSEVa3MHbyMkQ" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="ElementTypesTestsProfile.profile.uml#_SSE3oLhHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2Z2IUbhNEeSEVa3MHbyMkQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_2Z2vYLhNEeSEVa3MHbyMkQ" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="ElementTypesTestsProfile.profile.uml#_T4hRALhHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2Z2vYbhNEeSEVa3MHbyMkQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PWKgIrhHEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PWKgI7hHEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PWKgJLhHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWKgJbhHEeS0cu6lbJ9jDQ"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="ElementTypesTestsProfile.profile.uml#_PVwQcLhHEeS0cu6lbJ9jDQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PWJ5EbhHEeS0cu6lbJ9jDQ" x="953" y="309"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fSekILhNEeSEVa3MHbyMkQ" type="1031">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fSfLMLhNEeSEVa3MHbyMkQ" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fSekIbhNEeSEVa3MHbyMkQ" x="425" y="85"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_fZB8QbhGEeS0cu6lbJ9jDQ" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_fZB8QrhGEeS0cu6lbJ9jDQ"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_fZB8Q7hGEeS0cu6lbJ9jDQ">
+ <owner xmi:type="uml:Profile" href="ElementTypesTestsProfile.profile.uml#_fYQgMLhGEeS0cu6lbJ9jDQ"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="ElementTypesTestsProfile.profile.uml#_fYQgMLhGEeS0cu6lbJ9jDQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_hIYV0LhNEeSEVa3MHbyMkQ" type="1013" source="_624_kLhGEeS0cu6lbJ9jDQ" target="_fSekILhNEeSEVa3MHbyMkQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_hIYV0bhNEeSEVa3MHbyMkQ"/>
+ <element xmi:type="uml:Extension" href="ElementTypesTestsProfile.profile.uml#_hIRBELhNEeSEVa3MHbyMkQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hIYV0rhNEeSEVa3MHbyMkQ" points="[7, -9, -15, 128]$[-13, -162, -35, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hIpbkLhNEeSEVa3MHbyMkQ" id="(0.8064516129032258,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_azM7MLj3EeS4eYQIptruBA" id="(0.43,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_hrlJgLhNEeSEVa3MHbyMkQ" type="1013" source="_HZPs4LhHEeS0cu6lbJ9jDQ" target="_fSekILhNEeSEVa3MHbyMkQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_hrlJgbhNEeSEVa3MHbyMkQ"/>
+ <element xmi:type="uml:Extension" href="ElementTypesTestsProfile.profile.uml#_hrjUUbhNEeSEVa3MHbyMkQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hrlJgrhNEeSEVa3MHbyMkQ" points="[-11, -9, 180, 156]$[-170, -168, 21, -3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hrnlwLhNEeSEVa3MHbyMkQ" id="(0.0446927374301676,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hroM0LhNEeSEVa3MHbyMkQ" id="(1.0,0.82)"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_iBsnoLhGEeS0cu6lbJ9jDQ"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.uml b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.uml
new file mode 100644
index 00000000000..4f1610dae4d
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/ElementTypesTestsProfile.profile.uml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_fYQgMLhGEeS0cu6lbJ9jDQ" name="ElementTypesTestsProfile" metamodelReference="_fYQgMbhGEeS0cu6lbJ9jDQ">
+ <eAnnotations xmi:id="_FV4G8LhHEeS0cu6lbJ9jDQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_ctjvELj3EeS4eYQIptruBA" name="ElementTypesTestsProfile" nsURI="http:///schemas/ElementTypesTestsProfile/_cthS0Lj3EeS4eYQIptruBA/4" nsPrefix="ElementTypesTestsProfile">
+ <eAnnotations xmi:id="_ctlkQbj3EeS4eYQIptruBA" source="PapyrusVersion">
+ <details xmi:id="_ctlkQrj3EeS4eYQIptruBA" key="Version" value="0.0.5"/>
+ <details xmi:id="_ctlkQ7j3EeS4eYQIptruBA" key="Comment" value=""/>
+ <details xmi:id="_ctlkRLj3EeS4eYQIptruBA" key="Copyright" value=""/>
+ <details xmi:id="_ctlkRbj3EeS4eYQIptruBA" key="Date" value="2015-02-20"/>
+ <details xmi:id="_ctlkRrj3EeS4eYQIptruBA" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ctjvEbj3EeS4eYQIptruBA" name="PackageWithComponents">
+ <eAnnotations xmi:id="_ctjvErj3EeS4eYQIptruBA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_62vOkLhGEeS0cu6lbJ9jDQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ctjvE7j3EeS4eYQIptruBA" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ctjvFbj3EeS4eYQIptruBA" name="StereotypeWithFeaturesToSet">
+ <eAnnotations xmi:id="_ctjvFrj3EeS4eYQIptruBA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_HZK0YLhHEeS0cu6lbJ9jDQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ctjvF7j3EeS4eYQIptruBA" name="stringFeature" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ctjvGbj3EeS4eYQIptruBA" name="multiStrings" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ctjvG7j3EeS4eYQIptruBA" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ctjvHbj3EeS4eYQIptruBA" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ctjvH7j3EeS4eYQIptruBA" name="boolean" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ctjvIbj3EeS4eYQIptruBA" name="enumeration" ordered="false" lowerBound="1" eType="_ctjvI7j3EeS4eYQIptruBA"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_ctjvI7j3EeS4eYQIptruBA" name="Enum">
+ <eAnnotations xmi:id="_ctjvJLj3EeS4eYQIptruBA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_PVwQcLhHEeS0cu6lbJ9jDQ"/>
+ <eLiterals xmi:id="_ctjvJbj3EeS4eYQIptruBA" name="Enum1"/>
+ <eLiterals xmi:id="_ctjvJrj3EeS4eYQIptruBA" name="Enum2" value="1"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_3TZmgLhNEeSEVa3MHbyMkQ" name="ElementTypesTestsProfile" nsURI="http:///schemas/ElementTypesTestsProfile/_3TY_cLhNEeSEVa3MHbyMkQ/3" nsPrefix="ElementTypesTestsProfile">
+ <eAnnotations xmi:id="_3Ta0oLhNEeSEVa3MHbyMkQ" source="PapyrusVersion">
+ <details xmi:id="_3Ta0obhNEeSEVa3MHbyMkQ" key="Version" value="0.0.4"/>
+ <details xmi:id="_3Ta0orhNEeSEVa3MHbyMkQ" key="Comment" value=""/>
+ <details xmi:id="_3Ta0o7hNEeSEVa3MHbyMkQ" key="Copyright" value=""/>
+ <details xmi:id="_3Ta0pLhNEeSEVa3MHbyMkQ" key="Date" value="2015-02-19"/>
+ <details xmi:id="_3Ta0pbhNEeSEVa3MHbyMkQ" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_3TZmgbhNEeSEVa3MHbyMkQ" name="PackageWithComponents">
+ <eAnnotations xmi:id="_3TZmgrhNEeSEVa3MHbyMkQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_62vOkLhGEeS0cu6lbJ9jDQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3TZmg7hNEeSEVa3MHbyMkQ" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_3TZmhbhNEeSEVa3MHbyMkQ" name="StereotypeWithFeaturesToSet">
+ <eAnnotations xmi:id="_3TZmhrhNEeSEVa3MHbyMkQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_HZK0YLhHEeS0cu6lbJ9jDQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3TZmh7hNEeSEVa3MHbyMkQ" name="stringFeature" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3TZmibhNEeSEVa3MHbyMkQ" name="multiStrings" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3TZmi7hNEeSEVa3MHbyMkQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_3TZmjbhNEeSEVa3MHbyMkQ" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3TZmj7hNEeSEVa3MHbyMkQ" name="boolean" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_3TZmkbhNEeSEVa3MHbyMkQ" name="enumeration" ordered="false" lowerBound="1" eType="_3TZmk7hNEeSEVa3MHbyMkQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_3TZmk7hNEeSEVa3MHbyMkQ" name="Enum">
+ <eAnnotations xmi:id="_3TZmlLhNEeSEVa3MHbyMkQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_PVwQcLhHEeS0cu6lbJ9jDQ"/>
+ <eLiterals xmi:id="_3TZmlbhNEeSEVa3MHbyMkQ" name="Enum1"/>
+ <eLiterals xmi:id="_3TZmlrhNEeSEVa3MHbyMkQ" name="Enum2" value="1"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_yL120LhNEeSEVa3MHbyMkQ" name="ElementTypesTestsProfile" nsURI="http:///schemas/ElementTypesTestsProfile/_yLzakLhNEeSEVa3MHbyMkQ/2" nsPrefix="ElementTypesTestsProfile">
+ <eAnnotations xmi:id="_yL4TELhNEeSEVa3MHbyMkQ" source="PapyrusVersion">
+ <details xmi:id="_yL4TEbhNEeSEVa3MHbyMkQ" key="Version" value="0.0.3"/>
+ <details xmi:id="_yL4TErhNEeSEVa3MHbyMkQ" key="Comment" value=""/>
+ <details xmi:id="_yL4TE7hNEeSEVa3MHbyMkQ" key="Copyright" value=""/>
+ <details xmi:id="_yL4TFLhNEeSEVa3MHbyMkQ" key="Date" value="2015-02-19"/>
+ <details xmi:id="_yL4TFbhNEeSEVa3MHbyMkQ" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_yL120bhNEeSEVa3MHbyMkQ" name="PackageWithComponents">
+ <eAnnotations xmi:id="_yL120rhNEeSEVa3MHbyMkQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_62vOkLhGEeS0cu6lbJ9jDQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yL1207hNEeSEVa3MHbyMkQ" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_yL121bhNEeSEVa3MHbyMkQ" name="StereotypeWithFeaturesToSet">
+ <eAnnotations xmi:id="_yL121rhNEeSEVa3MHbyMkQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_HZK0YLhHEeS0cu6lbJ9jDQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yL1217hNEeSEVa3MHbyMkQ" name="stringFeature" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yL122bhNEeSEVa3MHbyMkQ" name="multiStrings" ordered="false" upperBound="-1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yL1227hNEeSEVa3MHbyMkQ" name="value" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_yL123bhNEeSEVa3MHbyMkQ" name="base_Element" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yL1237hNEeSEVa3MHbyMkQ" name="boolean" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_yL124bhNEeSEVa3MHbyMkQ" name="enumeration" ordered="false" lowerBound="1" eType="_yL1247hNEeSEVa3MHbyMkQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_yL1247hNEeSEVa3MHbyMkQ" name="Enum">
+ <eAnnotations xmi:id="_yL125LhNEeSEVa3MHbyMkQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_PVwQcLhHEeS0cu6lbJ9jDQ"/>
+ <eLiterals xmi:id="_yL125bhNEeSEVa3MHbyMkQ" name="Enum1"/>
+ <eLiterals xmi:id="_yL125rhNEeSEVa3MHbyMkQ" name="Enum2" value="1"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_YYnYELhHEeS0cu6lbJ9jDQ" name="ElementTypesTestsProfile" nsURI="http:///schemas/ElementTypesTestsProfile/_YYmxALhHEeS0cu6lbJ9jDQ/1" nsPrefix="ElementTypesTestsProfile">
+ <eAnnotations xmi:id="_YYn_ILhHEeS0cu6lbJ9jDQ" source="PapyrusVersion">
+ <details xmi:id="_YYn_IbhHEeS0cu6lbJ9jDQ" key="Version" value="0.0.2"/>
+ <details xmi:id="_YYn_IrhHEeS0cu6lbJ9jDQ" key="Comment" value=""/>
+ <details xmi:id="_YYn_I7hHEeS0cu6lbJ9jDQ" key="Copyright" value=""/>
+ <details xmi:id="_YYn_JLhHEeS0cu6lbJ9jDQ" key="Date" value="2015-02-19"/>
+ <details xmi:id="_YYn_JbhHEeS0cu6lbJ9jDQ" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_YYnYEbhHEeS0cu6lbJ9jDQ" name="PackageWithComponents">
+ <eAnnotations xmi:id="_YYnYErhHEeS0cu6lbJ9jDQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_62vOkLhGEeS0cu6lbJ9jDQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_YYnYE7hHEeS0cu6lbJ9jDQ" name="StereotypeWithFeaturesToSet">
+ <eAnnotations xmi:id="_YYnYFLhHEeS0cu6lbJ9jDQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_HZK0YLhHEeS0cu6lbJ9jDQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_YYnYFbhHEeS0cu6lbJ9jDQ" name="Enum">
+ <eAnnotations xmi:id="_YYnYFrhHEeS0cu6lbJ9jDQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_PVwQcLhHEeS0cu6lbJ9jDQ"/>
+ <eLiterals xmi:id="_YYnYF7hHEeS0cu6lbJ9jDQ" name="Enum1"/>
+ <eLiterals xmi:id="_YYnYGLhHEeS0cu6lbJ9jDQ" name="Enum2" value="1"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_FV4uALhHEeS0cu6lbJ9jDQ" name="ElementTypesTestsProfile" nsURI="http:///schemas/ElementTypesTestsProfile/_FV240LhHEeS0cu6lbJ9jDQ/0" nsPrefix="ElementTypesTestsProfile">
+ <eAnnotations xmi:id="_FV58ILhHEeS0cu6lbJ9jDQ" source="PapyrusVersion">
+ <details xmi:id="_FV58IbhHEeS0cu6lbJ9jDQ" key="Version" value="0.0.1"/>
+ <details xmi:id="_FV58IrhHEeS0cu6lbJ9jDQ" key="Comment" value=""/>
+ <details xmi:id="_FV58I7hHEeS0cu6lbJ9jDQ" key="Copyright" value=""/>
+ <details xmi:id="_FV58JLhHEeS0cu6lbJ9jDQ" key="Date" value="2015-02-19"/>
+ <details xmi:id="_FV58JbhHEeS0cu6lbJ9jDQ" key="Author" value="Le fevre"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FV4uAbhHEeS0cu6lbJ9jDQ" name="PackageWithComponents">
+ <eAnnotations xmi:id="_FV4uArhHEeS0cu6lbJ9jDQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_62vOkLhGEeS0cu6lbJ9jDQ"/>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <packageImport xmi:id="_fYQgMbhGEeS0cu6lbJ9jDQ">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_fYQgMrhGEeS0cu6lbJ9jDQ">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_62vOkLhGEeS0cu6lbJ9jDQ" name="PackageWithComponents">
+ <ownedAttribute xmi:id="_hIQaALhNEeSEVa3MHbyMkQ" name="base_Element" association="_hIRBELhNEeSEVa3MHbyMkQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_HZK0YLhHEeS0cu6lbJ9jDQ" name="StereotypeWithFeaturesToSet">
+ <ownedAttribute xmi:id="_9TmD0LhMEeSEVa3MHbyMkQ" name="stringFeature">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ckc5cLhNEeSEVa3MHbyMkQ" name="multiStrings">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FY_doLhNEeSEVa3MHbyMkQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FZArwLhNEeSEVa3MHbyMkQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_GO-qcLhNEeSEVa3MHbyMkQ" name="value">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_hrjUULhNEeSEVa3MHbyMkQ" name="base_Element" association="_hrjUUbhNEeSEVa3MHbyMkQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_p4uxILhNEeSEVa3MHbyMkQ" name="boolean">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_tFSMsLhNEeSEVa3MHbyMkQ" name="enumeration" type="_PVwQcLhHEeS0cu6lbJ9jDQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_PVwQcLhHEeS0cu6lbJ9jDQ" name="Enum">
+ <ownedLiteral xmi:id="_SSE3oLhHEeS0cu6lbJ9jDQ" name="Enum1"/>
+ <ownedLiteral xmi:id="_T4hRALhHEeS0cu6lbJ9jDQ" name="Enum2"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_hIRBELhNEeSEVa3MHbyMkQ" name="E_PackageWithComponents_Element1" memberEnd="_hIRBEbhNEeSEVa3MHbyMkQ _hIQaALhNEeSEVa3MHbyMkQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hIRBEbhNEeSEVa3MHbyMkQ" name="extension_PackageWithComponents" type="_62vOkLhGEeS0cu6lbJ9jDQ" aggregation="composite" association="_hIRBELhNEeSEVa3MHbyMkQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_hrjUUbhNEeSEVa3MHbyMkQ" name="E_StereotypeWithFeaturesToSet_Element1" memberEnd="_hrjUUrhNEeSEVa3MHbyMkQ _hrjUULhNEeSEVa3MHbyMkQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hrjUUrhNEeSEVa3MHbyMkQ" name="extension_StereotypeWithFeaturesToSet" type="_HZK0YLhHEeS0cu6lbJ9jDQ" aggregation="composite" association="_hrjUUbhNEeSEVa3MHbyMkQ"/>
+ </packagedElement>
+</uml:Profile>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/MyPalette.palette b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/MyPalette.palette
new file mode 100644
index 00000000000..6fe86de2535
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/MyPalette.palette
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<paletteDefinition>
+ <content>
+ <drawer iconpath="/icons/drawer.gif" id="Drawer__1387437837516"
+ name="TestDrawer">
+ <aspectTool description="Create an element with a stereotype"
+ iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Class.gif"
+ id="clazz.tool.class_1387437855081" name="Electrical Module"
+ refToolId="clazz.tool.class">
+ <postAction id="org.eclipse.papyrus.applystereotypeactionprovider">
+ <stereotypesToApply>
+ <stereotype stereotypeName="ElementTypesTestsProfile::Module">
+ <property propertyName="ElementTypesTestsProfile::Module::kind">
+ <value>Electrical</value>
+ </property>
+ </stereotype>
+ </stereotypesToApply>
+ </postAction>
+ </aspectTool>
+ </drawer>
+ </content>
+</paletteDefinition> \ No newline at end of file
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/cyclicAdvices.elementtypesconfigurations b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/cyclicAdvices.elementtypesconfigurations
new file mode 100644
index 00000000000..f87090fa236
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/cyclicAdvices.elementtypesconfigurations
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="ASCII" standalone="no"?><elementtypesconfigurations:ElementTypeSetConfiguration xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" identifier="org.eclipse.papyrus.infra.types.tests.cyclicAdvices.elementtypesconfigurations" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML" name="Test cyclic edvices dependencies" xmi:id="_ScP1oFYCEeS0WsAAtVmToA" xmi:version="2.0">
+ <adviceBindingsConfigurations editHelperAdviceClassName="org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1" identifier="TestEditHelperAdvice1" xmi:id="_SGAo4LK-EeWUIbTgfwAP3g" xsi:type="elementtypesconfigurations:AdviceBindingConfiguration">
+ <after>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2</after>
+ <after>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice3</after>
+ <target href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_Sca0wVYCEeS0WsAAtVmToA" xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations editHelperAdviceClassName="org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2" identifier="TestEditHelperAdvice2" xmi:id="_nSyIoLK-EeWUIbTgfwAP3g" xsi:type="elementtypesconfigurations:AdviceBindingConfiguration">
+ <before>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1</before>
+ <after>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice3</after>
+ <target href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_Sca0wVYCEeS0WsAAtVmToA" xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations editHelperAdviceClassName="org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice3" identifier="TestEditHelperAdvice3" xmi:id="_ojuzILK-EeWUIbTgfwAP3g" xsi:type="elementtypesconfigurations:AdviceBindingConfiguration">
+ <before>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1</before>
+ <before>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2</before>
+ <after>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1</after>
+ <target href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_Sca0wVYCEeS0WsAAtVmToA" xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration"/>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration> \ No newline at end of file
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/elementtypetest.elementtypesconfigurations b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/elementtypetest.elementtypesconfigurations
new file mode 100644
index 00000000000..903c3db5554
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/elementtypetest.elementtypesconfigurations
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="ASCII" standalone="no"?><elementtypesconfigurations:ElementTypeSetConfiguration xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1" xmlns:applystereotypeadvice="http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1" xmlns:invariantcontainerrule="http://www.eclipse.org/papyrus/emf/types/invariantcontainerrule/1.1" xmlns:invariantstereotyperule="http://www.eclipse.org/papyrus/uml/types/invariantstereotyperule/1.1" xmlns:rulebased="http://www.eclipse.org/papyrus/infra/types/rulebased/1.1" xmlns:setvaluesadvice="http://www.eclipse.org/papyrus/emf/types/setvaluesadvice/1.1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" identifier="org.eclipse.papyrus.infra.types.tests.tests" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML" name="Test element types" xmi:id="_ScP1oFYCEeS0WsAAtVmToA" xmi:version="2.0">
+ <elementTypeConfigurations description="" hint="ElementTypes" identifier="org.eclipse.papyrus.infra.types.tests.specificcomponent" name="Component in specific package only" xmi:id="_JIwuQLg9EeS0cu6lbJ9jDQ" xsi:type="rulebased:RuleBasedTypeConfiguration">
+ <iconEntry bundleId="org.eclipse.ui" iconPath="icons/full/obj16/add_obj.gif" xmi:id="_FW5wwLg-EeS0cu6lbJ9jDQ"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Component</specializedTypesID>
+ <ruleConfiguration xmi:id="_N9YeYLg-EeS0cu6lbJ9jDQ" xsi:type="invariantcontainerrule:InvariantContainerRuleConfiguration">
+ <permissions containerType="org.eclipse.papyrus.uml.Package" xmi:id="_Ow-egLg-EeS0cu6lbJ9jDQ"/>
+ <permissions containerType="org.eclipse.papyrus.infra.types.tests.packagewithcomponentsonly" permitted="true" strict="true" xmi:id="_QsZCULg-EeS0cu6lbJ9jDQ"/>
+ </ruleConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations description="Package that can contain only components" hint="ElementTypes" identifier="org.eclipse.papyrus.infra.types.tests.packagewithcomponentsonly" name="PackageWithComponentsOnly" xmi:id="_Zn1TULg-EeS0cu6lbJ9jDQ" xsi:type="rulebased:RuleBasedTypeConfiguration">
+ <specializedTypesID>org.eclipse.papyrus.uml.Package</specializedTypesID>
+ <ruleConfiguration requiredProfile="" stereotypeQualifiedName="ElementTypesTestsProfile::PackageWithComponents" xmi:id="_mzVEQLg-EeS0cu6lbJ9jDQ" xsi:type="invariantstereotyperule:InvariantStereotypeRuleConfiguration"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations description="Semantic element type to create abstract classes" hint="Abstract Class Creation Action" identifier="org.eclipse.papyrus.infra.types.tests.aspectabstractclass" name="Abstract Class Creation Action" xmi:id="_mhW74My1EeS2aYvfnAB4ZA" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration">
+ <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
+ <matcherConfiguration matcherClassName="org.eclipse.gmf.runtime.emf.type.core.NullElementMatcher" xmi:id="_qI4JwNLXEeSAkKOodzTEYg" xsi:type="elementtypesconfigurations:MatcherConfiguration"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations description="Test elementTypeConfigurations" hint="ElementElementTypeConfigurations" identifier="org.eclipse.papyrus.infra.types.tests.classSimpleStereotype" name="Class With Stereotype" xmi:id="_CSBmcMy2EeS2aYvfnAB4ZA" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration">
+ <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
+ <matcherConfiguration matcherClassName="org.eclipse.gmf.runtime.emf.type.core.NullElementMatcher" xmi:id="_8kqIkNLXEeSAkKOodzTEYg" xsi:type="elementtypesconfigurations:MatcherConfiguration"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations description="Test elementTypeConfigurations" hint="ElementElementTypeConfigurations" identifier="org.eclipse.papyrus.infra.types.tests.classSimpleStereotypeRename" name="Package With Stereotype And Renamed" xmi:id="_5vXW8My3EeS2aYvfnAB4ZA" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration">
+ <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
+ <matcherConfiguration matcherClassName="org.eclipse.gmf.runtime.emf.type.core.NullElementMatcher" xmi:id="_8yABANLXEeSAkKOodzTEYg" xsi:type="elementtypesconfigurations:MatcherConfiguration"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations description="Test elementTypeConfigurations" hint="ElementElementTypeConfigurations" identifier="org.eclipse.papyrus.infra.types.tests.classSimpleStereotypeSetValues" name="Package With Stereotype And Renamed" xmi:id="_HT1okMy4EeS2aYvfnAB4ZA" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration">
+ <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
+ <matcherConfiguration matcherClassName="org.eclipse.gmf.runtime.emf.type.core.NullElementMatcher" xmi:id="_8-EHENLXEeSAkKOodzTEYg" xsi:type="elementtypesconfigurations:MatcherConfiguration"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations description="Test elementTypeConfigurations" hint="ElementElementTypeConfigurations" identifier="org.eclipse.papyrus.infra.types.tests.abstractclassSimpleStereotype" name="Package With Stereotype And Renamed" xmi:id="_mrg2EMy4EeS2aYvfnAB4ZA" xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration">
+ <specializedTypesID>org.eclipse.papyrus.infra.types.tests.aspectabstractclass</specializedTypesID>
+ <matcherConfiguration matcherClassName="org.eclipse.gmf.runtime.emf.type.core.NullElementMatcher" xmi:id="_9KgAkNLXEeSAkKOodzTEYg" xsi:type="elementtypesconfigurations:MatcherConfiguration"/>
+ </elementTypeConfigurations>
+ <adviceBindingsConfigurations description="Aspect Semantic element type to create abstract classes" identifier="org.eclipse.papyrus.infra.types.tests.aspectabstractclass.advice" target="_mhW74My1EeS2aYvfnAB4ZA" xmi:id="_6Zq8QLg_EeS0cu6lbJ9jDQ" xsi:type="setvaluesadvice:SetValuesAdviceConfiguration">
+ <featuresToSet featureName="isAbstract" xmi:id="_7FIUELg_EeS0cu6lbJ9jDQ">
+ <value xmi:id="_-d4_oLg_EeS0cu6lbJ9jDQ" xsi:type="setvaluesadvice:ConstantValue">
+ <valueInstance value="true" xmi:id="__mUnULg_EeS0cu6lbJ9jDQ" xsi:type="uml:LiteralBoolean"/>
+ </value>
+ </featuresToSet>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations identifier="org.eclipse.papyrus.infra.types.tests.classSimpleStereotype.advice" target="_CSBmcMy2EeS2aYvfnAB4ZA" xmi:id="_NEmxYLhAEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration">
+ <stereotypesToApply stereotypeQualifiedName="ElementTypesTestsProfile::StereotypeWithFeaturesToSet" xmi:id="_PuEG8LhAEeS0cu6lbJ9jDQ">
+ <requiredProfiles>ElementTypesTestProfile</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations identifier="org.eclipse.papyrus.infra.types.tests.classSimpleStereotypeRename.advice" target="_5vXW8My3EeS2aYvfnAB4ZA" xmi:id="_Z3bfkMy4EeS2aYvfnAB4ZA" xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration">
+ <stereotypesToApply stereotypeQualifiedName="ElementTypesTestsProfile::StereotypeWithFeaturesToSet" updateName="true" xmi:id="_Z3bfkcy4EeS2aYvfnAB4ZA">
+ <requiredProfiles>ElementTypesTestProfile</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations identifier="org.eclipse.papyrus.infra.types.tests.classSimpleStereotypeSetValues.advice" target="_HT1okMy4EeS2aYvfnAB4ZA" xmi:id="_havkELhAEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration">
+ <stereotypesToApply stereotypeQualifiedName="ElementTypesTestsProfile::StereotypeWithFeaturesToSet" updateName="true" xmi:id="_vA53wLhAEeS0cu6lbJ9jDQ">
+ <requiredProfiles>ElementTypesTestsProfile</requiredProfiles>
+ <featuresToSet featureName="stringFeature" xmi:id="__E3qoLhAEeS0cu6lbJ9jDQ">
+ <value xmi:id="_DFSzILhBEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance value="MyStringValue" xmi:id="_MDKGALhBEeS0cu6lbJ9jDQ" xsi:type="uml:LiteralString"/>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="value" xmi:id="_A8odgLhBEeS0cu6lbJ9jDQ">
+ <value xmi:id="_Eb_gULhBEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance value="3" xmi:id="_Gt4qcLhBEeS0cu6lbJ9jDQ" xsi:type="uml:LiteralInteger"/>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="boolean" xmi:id="_BSTykLhBEeS0cu6lbJ9jDQ">
+ <value xmi:id="_ExAHALhBEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance value="true" xmi:id="_QFRQkLhBEeS0cu6lbJ9jDQ" xsi:type="uml:LiteralBoolean"/>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="enumeration" xmi:id="_Bm_pILhBEeS0cu6lbJ9jDQ">
+ <value xmi:id="_FFqIYLhBEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance xmi:id="_VToy4LhBEeS0cu6lbJ9jDQ" xsi:type="uml:InstanceValue">
+ <instance href="ElementTypesTestsProfile.profile.uml#_T4hRALhHEeS0cu6lbJ9jDQ"/>
+ </valueInstance>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="multiStrings" xmi:id="_B7jj4LhBEeS0cu6lbJ9jDQ">
+ <value xmi:id="_rQRXYLhDEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ListValue"/>
+ </featuresToSet>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations identifier="org.eclipse.papyrus.infra.types.tests.abstractclassSimpleStereotype.advice" target="_mrg2EMy4EeS2aYvfnAB4ZA" xmi:id="_ls9AILhAEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration">
+ <stereotypesToApply stereotypeQualifiedName="ElementTypesTestsProfile::StereotypeWithFeatureToSet" xmi:id="_u0-NMLhDEeS0cu6lbJ9jDQ">
+ <requiredProfiles>ElementTypesTestsProfile</requiredProfiles>
+ <featuresToSet featureName="stringFeature" xmi:id="_6XspgLhDEeS0cu6lbJ9jDQ">
+ <value xmi:id="_7YVAELhDEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance name="" value="MyOtherValue" xmi:id="_-BmvcLhDEeS0cu6lbJ9jDQ" xsi:type="uml:LiteralString"/>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="value" xmi:id="_Bj7msLhEEeS0cu6lbJ9jDQ">
+ <value xmi:id="_Dd4x8LhEEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance value="18" xmi:id="_HdrBQLhEEeS0cu6lbJ9jDQ" xsi:type="uml:LiteralInteger"/>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="boolean" xmi:id="_CKkv8LhEEeS0cu6lbJ9jDQ">
+ <value xmi:id="_It5TALhEEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance value="true" xmi:id="_JxtgcLhEEeS0cu6lbJ9jDQ" xsi:type="uml:LiteralBoolean"/>
+ </value>
+ </featuresToSet>
+ <featuresToSet featureName="enumeration" xmi:id="_CqCTILhEEeS0cu6lbJ9jDQ">
+ <value xmi:id="_LYi7YLhEEeS0cu6lbJ9jDQ" xsi:type="applystereotypeadvice:ConstantValue">
+ <valueInstance name="" xmi:id="_NPf18LhEEeS0cu6lbJ9jDQ" xsi:type="uml:InstanceValue">
+ <instance href="ElementTypesTestsProfile.profile.uml#_T4hRALhHEeS0cu6lbJ9jDQ"/>
+ </valueInstance>
+ </value>
+ </featuresToSet>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration> \ No newline at end of file
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.di b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.notation b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.notation
new file mode 100644
index 00000000000..71ff069b40f
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.notation
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_FXBxsLjwEeS4eYQIptruBA" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_JXbFALjwEeS4eYQIptruBA" type="2007">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qA_7ELj3EeS4eYQIptruBA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rTbMQLj3EeS4eYQIptruBA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rTbMQbj3EeS4eYQIptruBA" key="StereotypeList" value="ElementTypesTestsProfile::PackageWithComponents"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rTbMQrj3EeS4eYQIptruBA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rTbMQ7j3EeS4eYQIptruBA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rTbMRLj3EeS4eYQIptruBA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JXcTILjwEeS4eYQIptruBA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JXcTIbjwEeS4eYQIptruBA" type="7016">
+ <children xmi:type="notation:Shape" xmi:id="_QSA4kLjwEeS4eYQIptruBA" type="3021">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QSA4krjwEeS4eYQIptruBA" type="5043"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QSA4k7jwEeS4eYQIptruBA" type="8513">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QSA4lLjwEeS4eYQIptruBA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QSBfoLjwEeS4eYQIptruBA" type="7023">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QSBfobjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QSBforjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QSBfo7jwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSBfpLjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QSBfpbjwEeS4eYQIptruBA" type="7024">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QSBfprjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QSBfp7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QSBfqLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSBfqbjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QSBfqrjwEeS4eYQIptruBA" type="7025">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QSBfq7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QSBfrLjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QSBfrbjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSBfrrjwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Component" href="model.uml#_QR8nILjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QSA4kbjwEeS4eYQIptruBA" x="35" y="25"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RJWwQLjwEeS4eYQIptruBA" type="3021">
+ <children xmi:type="notation:DecorationNode" xmi:id="_RJWwQrjwEeS4eYQIptruBA" type="5043"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_RJWwQ7jwEeS4eYQIptruBA" type="8513">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RJWwRLjwEeS4eYQIptruBA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RJWwRbjwEeS4eYQIptruBA" type="7023">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RJWwRrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RJWwR7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RJWwSLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RJWwSbjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RJWwSrjwEeS4eYQIptruBA" type="7024">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RJWwS7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RJWwTLjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RJWwTbjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RJWwTrjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RJWwT7jwEeS4eYQIptruBA" type="7025">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RJWwULjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RJWwUbjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RJWwUrjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RJWwU7jwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Component" href="model.uml#_RJViILjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RJWwQbjwEeS4eYQIptruBA" x="220" y="23"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JXcTIrjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JXcTI7jwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_JXFt0LjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JXbFAbjwEeS4eYQIptruBA" x="82" y="52" width="370" height="222"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_L5qYQLjwEeS4eYQIptruBA" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_L5qYQrjwEeS4eYQIptruBA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_L5qYQ7jwEeS4eYQIptruBA" type="7016">
+ <children xmi:type="notation:Shape" xmi:id="_VvnJsLjwEeS4eYQIptruBA" type="3010">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v5qXkLj3EeS4eYQIptruBA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v5qXkbj3EeS4eYQIptruBA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v5qXkrj3EeS4eYQIptruBA" key="StereotypeList" value="ElementTypesTestsProfile::StereotypeWithFeaturesToSet"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v5q-oLj3EeS4eYQIptruBA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v5q-obj3EeS4eYQIptruBA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v5q-orj3EeS4eYQIptruBA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VvnwwLjwEeS4eYQIptruBA" type="5014"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VvnwwbjwEeS4eYQIptruBA" type="8518">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VvnwwrjwEeS4eYQIptruBA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vvnww7jwEeS4eYQIptruBA" type="7011">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VvnwxLjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VvnwxbjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VvnwxrjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vvnwx7jwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_VvnwyLjwEeS4eYQIptruBA" type="7012">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VvnwybjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VvnwyrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vvnwy7jwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VvnwzLjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_VvnwzbjwEeS4eYQIptruBA" type="7013">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VvnwzrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vvnwz7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vvnw0LjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vvnw0bjwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Class" href="model.uml#_VvcKkLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VvnJsbjwEeS4eYQIptruBA" x="59" y="15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_cLHNgLjwEeS4eYQIptruBA" type="3010">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wvGx0Lj3EeS4eYQIptruBA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wvGx0bj3EeS4eYQIptruBA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wvGx0rj3EeS4eYQIptruBA" key="StereotypeList" value="ElementTypesTestsProfile::StereotypeWithFeaturesToSet"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wvGx07j3EeS4eYQIptruBA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wvGx1Lj3EeS4eYQIptruBA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wvGx1bj3EeS4eYQIptruBA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cLHNgrjwEeS4eYQIptruBA" type="5014"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cLHNg7jwEeS4eYQIptruBA" type="8518">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cLHNhLjwEeS4eYQIptruBA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cLHNhbjwEeS4eYQIptruBA" type="7011">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cLHNhrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cLHNh7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cLHNiLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cLHNibjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cLH0kLjwEeS4eYQIptruBA" type="7012">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cLH0kbjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cLH0krjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cLH0k7jwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cLH0lLjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cLH0lbjwEeS4eYQIptruBA" type="7013">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cLH0lrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cLH0l7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cLH0mLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cLH0mbjwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Class" href="model.uml#_cLF_YLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cLHNgbjwEeS4eYQIptruBA" x="291" y="66"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_L5qYRLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L5qYRbjwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_L5pKILjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L5qYQbjwEeS4eYQIptruBA" x="525" y="59" width="748" height="278"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_N1Cf0LjwEeS4eYQIptruBA" type="2007">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_o_mvgLj3EeS4eYQIptruBA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o_mvgbj3EeS4eYQIptruBA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o_mvgrj3EeS4eYQIptruBA" key="StereotypeList" value="ElementTypesTestsProfile::PackageWithComponents"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o_mvg7j3EeS4eYQIptruBA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o_mvhLj3EeS4eYQIptruBA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_o_mvhbj3EeS4eYQIptruBA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_N1DG4LjwEeS4eYQIptruBA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_N1DG4bjwEeS4eYQIptruBA" type="7016">
+ <children xmi:type="notation:Shape" xmi:id="_et_Z8LjwEeS4eYQIptruBA" type="3021">
+ <children xmi:type="notation:DecorationNode" xmi:id="_euABALjwEeS4eYQIptruBA" type="5043"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_euABAbjwEeS4eYQIptruBA" type="8513">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_euABArjwEeS4eYQIptruBA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_euABA7jwEeS4eYQIptruBA" type="7023">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_euABBLjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_euABBbjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_euABBrjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_euABB7jwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_euABCLjwEeS4eYQIptruBA" type="7024">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_euABCbjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_euABCrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_euABC7jwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_euABDLjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_euABDbjwEeS4eYQIptruBA" type="7025">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_euABDrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_euABD7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_euABELjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_euABEbjwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Component" href="model.uml#_et-y4LjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_et_Z8bjwEeS4eYQIptruBA" x="31" y="21"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fHYKULjwEeS4eYQIptruBA" type="3021">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fHYKUrjwEeS4eYQIptruBA" type="5043"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fHYKU7jwEeS4eYQIptruBA" type="8513">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fHYKVLjwEeS4eYQIptruBA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fHYKVbjwEeS4eYQIptruBA" type="7023">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fHYKVrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fHYKV7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fHYKWLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fHYKWbjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fHYKWrjwEeS4eYQIptruBA" type="7024">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fHYKW7jwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fHYKXLjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fHYKXbjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fHYKXrjwEeS4eYQIptruBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fHYKX7jwEeS4eYQIptruBA" type="7025">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fHYKYLjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fHYKYbjwEeS4eYQIptruBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fHYKYrjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fHYKY7jwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Component" href="model.uml#_fHW8MLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fHYKUbjwEeS4eYQIptruBA" x="150" y="41"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_N1DG4rjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N1DG47jwEeS4eYQIptruBA"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_N0_cgLjwEeS4eYQIptruBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N1Cf0bjwEeS4eYQIptruBA" x="310" y="340" width="417" height="206"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_FXBxsbjwEeS4eYQIptruBA" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_FXBxsrjwEeS4eYQIptruBA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_FXBxs7jwEeS4eYQIptruBA">
+ <owner xmi:type="uml:Model" href="model.uml#_FUbJoLjwEeS4eYQIptruBA"/>
+ </styles>
+ <element xmi:type="uml:Model" href="model.uml#_FUbJoLjwEeS4eYQIptruBA"/>
+</notation:Diagram>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.uml b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.uml
new file mode 100644
index 00000000000..020393cf651
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/model.uml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ElementTypesTestsProfile="http:///schemas/ElementTypesTestsProfile/_cthS0Lj3EeS4eYQIptruBA/4" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/ElementTypesTestsProfile/_cthS0Lj3EeS4eYQIptruBA/4 ElementTypesTestsProfile.profile.uml#_ctjvELj3EeS4eYQIptruBA">
+ <uml:Model xmi:id="_FUbJoLjwEeS4eYQIptruBA" name="Model">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_FUbJobjwEeS4eYQIptruBA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_JXFt0LjwEeS4eYQIptruBA" name="PackageWithComponents">
+ <packagedElement xmi:type="uml:Component" xmi:id="_QR8nILjwEeS4eYQIptruBA" name="Component1"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_RJViILjwEeS4eYQIptruBA" name="Component2"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_L5pKILjwEeS4eYQIptruBA" name="PackageWithAllElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_VvcKkLjwEeS4eYQIptruBA" name="Class"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_cLF_YLjwEeS4eYQIptruBA" name="StereotypeWithFeaturesToSetClass1"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_n7iHkLjwEeS4eYQIptruBA" name="Component1"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_N0_cgLjwEeS4eYQIptruBA" name="OtherPackageWithComponents">
+ <packagedElement xmi:type="uml:Component" xmi:id="_et-y4LjwEeS4eYQIptruBA" name="Component1"/>
+ <packagedElement xmi:type="uml:Component" xmi:id="_fHW8MLjwEeS4eYQIptruBA" name="Component"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_hUQ0cLj3EeS4eYQIptruBA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hVGh8bj3EeS4eYQIptruBA" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hVGh8rj3EeS4eYQIptruBA" key="Version" value="0.0.5"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hVHJALj3EeS4eYQIptruBA" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hVHJAbj3EeS4eYQIptruBA" key="Copyright" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hVHJArj3EeS4eYQIptruBA" key="Date" value="2015-02-20"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hVHJA7j3EeS4eYQIptruBA" key="Author" value=""/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hVGh8Lj3EeS4eYQIptruBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="ElementTypesTestsProfile.profile.uml#_ctjvELj3EeS4eYQIptruBA"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="ElementTypesTestsProfile.profile.uml#_fYQgMLhGEeS0cu6lbJ9jDQ"/>
+ </profileApplication>
+ </uml:Model>
+ <ElementTypesTestsProfile:PackageWithComponents xmi:id="_o_kTQLj3EeS4eYQIptruBA" base_Element="_N0_cgLjwEeS4eYQIptruBA"/>
+ <ElementTypesTestsProfile:PackageWithComponents xmi:id="_rTZXELj3EeS4eYQIptruBA" base_Element="_JXFt0LjwEeS4eYQIptruBA"/>
+ <ElementTypesTestsProfile:StereotypeWithFeaturesToSet xmi:id="_v5nUQLj3EeS4eYQIptruBA" base_Element="_VvcKkLjwEeS4eYQIptruBA"/>
+ <ElementTypesTestsProfile:StereotypeWithFeaturesToSet xmi:id="_wvE8oLj3EeS4eYQIptruBA" base_Element="_cLF_YLjwEeS4eYQIptruBA"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/validAdvicesOrder.elementtypesconfigurations b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/validAdvicesOrder.elementtypesconfigurations
new file mode 100644
index 00000000000..0a40140a8d6
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/model/validAdvicesOrder.elementtypesconfigurations
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ASCII" standalone="no"?><elementtypesconfigurations:ElementTypeSetConfiguration xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" identifier="org.eclipse.papyrus.infra.types.tests.validAdvices.elementtypesconfigurations" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML" name="Test cyclic edvices dependencies" xmi:id="_ScP1oFYCEeS0WsAAtVmToA" xmi:version="2.0">
+ <adviceBindingsConfigurations editHelperAdviceClassName="org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1" identifier="TestEditHelperAdvice1" xmi:id="_SGAo4LK-EeWUIbTgfwAP3g" xsi:type="elementtypesconfigurations:AdviceBindingConfiguration">
+ <before>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2</before>
+ <target href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_Sca0wVYCEeS0WsAAtVmToA" xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations editHelperAdviceClassName="org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2" identifier="TestEditHelperAdvice2" xmi:id="_nSyIoLK-EeWUIbTgfwAP3g" xsi:type="elementtypesconfigurations:AdviceBindingConfiguration">
+ <before>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice3</before>
+ <after>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1</after>
+ <target href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_Sca0wVYCEeS0WsAAtVmToA" xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations editHelperAdviceClassName="org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice3" identifier="TestEditHelperAdvice3" xmi:id="_ojuzILK-EeWUIbTgfwAP3g" xsi:type="elementtypesconfigurations:AdviceBindingConfiguration">
+ <after>org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2</after>
+ <target href="../../../plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_Sca0wVYCEeS0WsAAtVmToA" xsi:type="elementtypesconfigurations:MetamodelTypeConfiguration"/>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration> \ No newline at end of file
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/org.eclipse.papyrus.infra.types.tests.launch b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/org.eclipse.papyrus.infra.types.tests.launch
new file mode 100644
index 00000000000..21e01810665
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/org.eclipse.papyrus.infra.types.tests.launch
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspacemd5"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.infra.types.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.types.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.properties b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.properties
new file mode 100644
index 00000000000..596019605b9
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.properties
@@ -0,0 +1,13 @@
+# Copyright (c) 2014 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+
+pluginName = ElementTypesConfigurations Tests
+providerName = Eclipse Modeling Project
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.xml b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.xml
new file mode 100644
index 00000000000..f53483d7e6f
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+ <elementTypeSet
+ clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+ path="model/elementtypetest.elementtypesconfigurations">
+ </elementTypeSet>
+ </extension>
+
+</plugin>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/pom.xml b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/pom.xml
new file mode 100644
index 00000000000..6e1b56322a5
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.tests.releng</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../../../../releng/main-tests</relativePath>
+ </parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra.types.tests</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+</project>
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AbstractElementTypeTests.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AbstractElementTypeTests.java
new file mode 100644
index 00000000000..f33892a1024
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AbstractElementTypeTests.java
@@ -0,0 +1,197 @@
+/*****************************************************************************
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Francois Le Fevre (CEA LIST) francois.le-fevre@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.types.tests;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.resource.ModelUtils;
+import org.eclipse.papyrus.infra.core.resource.NotFoundException;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.ui.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
+import org.eclipse.papyrus.junit.utils.EditorUtils;
+import org.eclipse.papyrus.junit.utils.PapyrusProjectUtils;
+import org.eclipse.papyrus.junit.utils.rules.HouseKeeper;
+import org.eclipse.papyrus.uml.tools.model.UmlModel;
+import org.eclipse.papyrus.uml.tools.model.UmlUtils;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.osgi.framework.Bundle;
+
+/**
+ * Abstract class for element types tests
+ */
+public abstract class AbstractElementTypeTests extends AbstractPapyrusTest implements ITestConstants {
+
+
+ @ClassRule
+ public static HouseKeeper.Static houseKeeper = new HouseKeeper.Static();
+
+ protected static IProject createProject;
+
+ protected static IFile copyPapyrusModel;
+
+ protected static IMultiDiagramEditor openPapyrusEditor;
+
+ protected static ModelSet modelset;
+
+ protected static UmlModel umlIModel;
+
+ protected static Model rootModel;
+
+ protected static TransactionalEditingDomain transactionalEditingDomain;
+
+ protected static Package packageWithAllElements;
+
+ protected static Package packageWithComponents;
+
+ protected static IClientContext papyrusContext;
+
+ protected static Package otherPackageWithComponents;
+
+ protected static Component component1_packageWithComponents;
+
+ protected static Component component1_otherPackageWithComponents;
+
+ protected static Component component1_packageWithAllElements;
+
+
+ /**
+ * Init test class
+ */
+ @SuppressWarnings("restriction")
+ @BeforeClass
+ public static void initCreateElementTest() {
+
+ // create Project
+ createProject = houseKeeper.createProject("ElementTypes");
+
+ // import test model and profile
+ try {
+ Bundle bundle = Platform.getBundle("org.eclipse.papyrus.infra.types.tests");
+ copyPapyrusModel = PapyrusProjectUtils.copyPapyrusModel(createProject, bundle, "/model/", "model");
+ PapyrusProjectUtils.copyPapyrusModel(createProject, bundle, "/model/", "ElementTypesTestsProfile.profile");
+ } catch (CoreException e) {
+ fail(e.getMessage());
+ } catch (IOException e) {
+ fail(e.getMessage());
+ }
+
+ // open project
+ Display.getDefault().syncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ try {
+ openPapyrusEditor = houseKeeper.cleanUpLater(EditorUtils.openPapyrusEditor(copyPapyrusModel));
+ } catch (PartInitException e) {
+ fail(e.getMessage());
+ }
+ }
+ });
+
+ transactionalEditingDomain = openPapyrusEditor.getAdapter(TransactionalEditingDomain.class);
+ assertTrue("Impossible to init editing domain", transactionalEditingDomain instanceof TransactionalEditingDomain);
+
+ // retrieve UML model from this editor
+ try {
+ modelset = ModelUtils.getModelSetChecked(openPapyrusEditor.getServicesRegistry());
+ umlIModel = UmlUtils.getUmlModel(modelset);
+ rootModel = (Model) umlIModel.lookupRoot();
+
+ Assert.assertNotNull("root model should not be null", rootModel);
+
+ } catch (ServiceException e) {
+ fail(e.getMessage());
+ } catch (NotFoundException e) {
+ fail(e.getMessage());
+ } catch (ClassCastException e) {
+ fail(e.getMessage());
+ }
+ try {
+ initExistingElements();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
+ try {
+ papyrusContext = org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext.getContext();
+ } catch (ServiceException e) {
+ fail(e.getMessage());
+ }
+
+ }
+
+ /**
+ * Init fields corresponding to element in the test model
+ */
+ protected static void initExistingElements() throws Exception {
+ packageWithComponents = rootModel.getNestedPackage(PACKAGE_WITH_COMPONENTS);
+ Assert.assertNotNull(PACKAGE_WITH_COMPONENTS + " should not be null", packageWithComponents);
+ Assert.assertTrue(PACKAGE_WITH_COMPONENTS + " should be a Package", packageWithComponents instanceof Package);
+
+ packageWithAllElements = rootModel.getNestedPackage(PACKAGE_WITH_ALL_ELEMENTS);
+ Assert.assertNotNull(PACKAGE_WITH_ALL_ELEMENTS + " should not be null", packageWithAllElements);
+ Assert.assertTrue(PACKAGE_WITH_ALL_ELEMENTS + " should be a Package", packageWithAllElements instanceof Package);
+
+ otherPackageWithComponents = rootModel.getNestedPackage(OTHER_PACKAGE_WITH_COMPONENTS);
+ Assert.assertNotNull(OTHER_PACKAGE_WITH_COMPONENTS + " should not be null", otherPackageWithComponents);
+ Assert.assertTrue(OTHER_PACKAGE_WITH_COMPONENTS + " should be a Package", otherPackageWithComponents instanceof Package);
+
+ // init components
+ component1_packageWithComponents = (Component) packageWithComponents.getPackagedElement(COMPONENT_NAME);
+ Assert.assertNotNull(COMPONENT_NAME + " should not be null", component1_packageWithComponents);
+
+ component1_otherPackageWithComponents = (Component) otherPackageWithComponents.getPackagedElement(COMPONENT_NAME);
+ Assert.assertNotNull(COMPONENT_NAME + " should not be null", component1_otherPackageWithComponents);
+
+ component1_packageWithAllElements = (Component) packageWithAllElements.getPackagedElement(COMPONENT_NAME);
+ Assert.assertNotNull(COMPONENT_NAME + " should not be null", component1_packageWithAllElements);
+
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @After
+ public void tearDown() throws Exception {
+ }
+
+
+}
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/Activator.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/Activator.java
new file mode 100644
index 00000000000..8fc86220b59
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/Activator.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.types.tests;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.types.tests"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AllTests.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AllTests.java
new file mode 100644
index 00000000000..b532518c089
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/AllTests.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Francois Le Fevre (CEA LIST) francois.le-fevre@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.types.tests;
+
+import org.junit.runner.RunWith;
+import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
+import org.junit.runners.Suite.SuiteClasses;
+
+
+/**
+ * All tests for this fragment
+ */
+@RunWith(ClassificationSuite.class)
+@SuiteClasses({ ElementTypesRegistryTests.class, ElementEditHelperAdviceTests.class })
+public class AllTests {
+
+}
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementEditHelperAdviceTests.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementEditHelperAdviceTests.java
new file mode 100644
index 00000000000..6f910601feb
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementEditHelperAdviceTests.java
@@ -0,0 +1,307 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Francois Le Fevre (CEA LIST) francois.le-fevre@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.types.tests;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.MoveRequest;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.infra.types.core.utils.AdviceComparator;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.Package;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Based upon ExtendedEditHelperAdviceTests
+ * Test class for element type edit helper advice
+ */
+public class ElementEditHelperAdviceTests extends AbstractElementTypeTests implements ITestConstants {
+
+ @Test
+ // transcoded from extended types framework
+ public void testPACKAGE_WITH_COMPONENTSType() {
+ List<IElementType> elementTypes = Arrays.asList(ElementTypeRegistry.getInstance().getAllTypesMatching(packageWithComponents, papyrusContext));
+ Assert.assertNotNull("list should not be null", elementTypes);
+ Assert.assertTrue("list should not be empty", elementTypes.size() > 0);
+ Assert.assertTrue(PACKAGE_WITH_COMPONENTS + " should be a Package With components only type", elementTypes.contains(ElementTypeRegistry.getInstance().getType(PACKAGE_WITH_COMPONENTS_TYPE_ID)));
+ }
+
+ @Test
+ public void testPACKAGE_WITH_ALL_ELEMENTSType() {
+ List<IElementType> elementTypes = Arrays.asList(ElementTypeRegistry.getInstance().getAllTypesMatching(packageWithAllElements, papyrusContext));
+ Assert.assertNotNull("list should not be null", elementTypes);
+ Assert.assertTrue("list should not be empty", elementTypes.size() > 0);
+ Assert.assertTrue(PACKAGE_WITH_ALL_ELEMENTS + " should not be a Package With components only type", !elementTypes.contains(ElementTypeRegistry.getInstance().getType(PACKAGE_WITH_COMPONENTS_TYPE_ID)));
+ }
+
+ @Test
+ // transcoded from extended types framework
+ public void testSemanticCreateComponentInGoodPackage() throws ExecutionException {
+ testCreateComponent(packageWithComponents, true);
+ }
+
+ @Test
+ // transcoded from extended types framework
+ public void testSemanticCreateComponentInWrongPackage() throws ExecutionException {
+ testCreateComponent(packageWithAllElements, false);
+ }
+
+ protected void testCreateComponent(Package container, boolean canCreate) throws ExecutionException {
+ IProgressMonitor monitor = new NullProgressMonitor();
+ // should be possible
+ IElementType type = ElementTypeRegistry.getInstance().getType(SPECIFICCOMPONENT_TYPE_ID);
+ CreateElementRequest request = new CreateElementRequest(transactionalEditingDomain, container, type);
+ IElementEditService service = ElementEditServiceUtils.getCommandProvider(container);
+ ICommand command = service.getEditCommand(request);
+ // get children before modification
+ List<EObject> originalChildren = new ArrayList<EObject>(container.getPackagedElements());
+ if (canCreate) {
+ Assert.assertTrue("Command should be executable", command.canExecute());
+ IStatus status = command.execute(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ // get result
+ List<EObject> afterCreationChildren = new ArrayList<EObject>(container.getPackagedElements());
+ List<EObject> delta = new ArrayList<EObject>(afterCreationChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have only one more element", 1, delta.size());
+ // check it does not impact undo
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ List<EObject> afterUndoChildren = new ArrayList<EObject>(container.getPackagedElements());
+ delta = new ArrayList<EObject>(afterUndoChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have no element", 0, delta.size());
+ // should be redoable
+ Assert.assertTrue("Command should be redoable", command.canRedo());
+ status = command.redo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ List<EObject> afterRedoChildren = new ArrayList<EObject>(container.getPackagedElements());
+ delta = new ArrayList<EObject>(afterRedoChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have one more element", 1, delta.size());
+ // undo to revert state
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ } else {
+ Assert.assertTrue("Command should not be executable", command == null || !(command.canExecute()));
+ }
+ }
+
+ @Test
+ public void testSemanticMoveComponentFromGoodPackageToGoodPackage() throws ExecutionException {
+ // should be possible (target = good package)
+ testMoveComponent(otherPackageWithComponents, component1_packageWithComponents, true);
+ }
+
+ @Test
+ // transcoded from extended types framework
+ public void testSemanticMoveComponentFromGoodPackageToWrongPackage() throws ExecutionException {
+ // should be impossible (target = wrong package)
+ testMoveComponent(packageWithAllElements, component1_packageWithComponents, false);
+ }
+
+ @Test
+ public void testSemanticMoveComponentFromWrongPackageToGoodPackage() throws ExecutionException {
+ // should be possible (target = good package)
+ testMoveComponent(packageWithComponents, component1_packageWithAllElements, true);
+ }
+
+ @Test
+ public void testSemanticMoveComponentFromWrongPackageToWrongPackage() throws ExecutionException {
+ // should be impossible (target = wrong package)
+ testMoveComponent(packageWithAllElements, component1_packageWithAllElements, false);
+ }
+
+ protected void testMoveComponent(Package targetContainer, Component sourceComponent, boolean canMove) throws ExecutionException {
+ IProgressMonitor monitor = new NullProgressMonitor();
+ // should be possible
+ MoveRequest request = new MoveRequest(transactionalEditingDomain, targetContainer, sourceComponent);
+ IElementEditService service = ElementEditServiceUtils.getCommandProvider(targetContainer);
+ ICommand command = service.getEditCommand(request);
+ // get children before modification
+ List<EObject> originalChildren = new ArrayList<EObject>(targetContainer.getPackagedElements());
+ if (canMove) {
+ Assert.assertTrue("Command should be executable", command.canExecute());
+ IStatus status = command.execute(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ // get result
+ List<EObject> afterCreationChildren = new ArrayList<EObject>(targetContainer.getPackagedElements());
+ List<EObject> delta = new ArrayList<EObject>(afterCreationChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have only one more element", 1, delta.size());
+ // check it does not impact undo
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ List<EObject> afterUndoChildren = new ArrayList<EObject>(targetContainer.getPackagedElements());
+ delta = new ArrayList<EObject>(afterUndoChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have no element", 0, delta.size());
+ // should be redoable
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ List<EObject> afterRedoChildren = new ArrayList<EObject>(targetContainer.getPackagedElements());
+ delta = new ArrayList<EObject>(afterRedoChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have one more element", 1, delta.size());
+ // undo to revert state
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ } else {
+ Assert.assertTrue("Command should not be executable", command == null || !command.canExecute());
+ }
+ }
+
+ @Test
+ public void testDeleteComponentFromWrongPackage() throws ExecutionException {
+ // should be possible. no influence on deletion is expected
+ testDeleteComponent(component1_packageWithAllElements, true);
+ }
+
+ @Test
+ public void testDeleteComponentFromGoodPackage() throws ExecutionException {
+ // should be possible. no influence on deletion is expected
+ testDeleteComponent(component1_packageWithComponents, true);
+ }
+
+ protected void testDeleteComponent(EObject objectToDelete, boolean canDelete) throws ExecutionException {
+ IProgressMonitor monitor = new NullProgressMonitor();
+ // should be possible
+ DestroyElementRequest request = new DestroyElementRequest(transactionalEditingDomain, objectToDelete, false);
+ IElementEditService service = ElementEditServiceUtils.getCommandProvider(objectToDelete);
+ ICommand command = service.getEditCommand(request);
+ // get children before modification
+ List<EObject> originalChildren = new ArrayList<EObject>((List<EObject>) objectToDelete.eContainer().eGet(objectToDelete.eContainingFeature(), true));
+ EObject container = objectToDelete.eContainer();
+ EStructuralFeature containingFeature = objectToDelete.eContainingFeature();
+ if (canDelete) {
+ Assert.assertTrue("Command should be executable", command.canExecute());
+ IStatus status = command.execute(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ // get result
+ List<EObject> afterDeletionChildren = new ArrayList<EObject>((List<EObject>) container.eGet(containingFeature, true));
+ List<EObject> delta = new ArrayList<EObject>(originalChildren);
+ delta.removeAll(afterDeletionChildren);
+ Assert.assertEquals("List should have one element only", 1, delta.size());
+ Assert.assertEquals("deleted element should be the specified one", objectToDelete, delta.get(0));
+ // check it does not impact undo
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ List<EObject> afterUndoChildren = new ArrayList<EObject>((List<EObject>) container.eGet(containingFeature, true));
+ delta = new ArrayList<EObject>(afterUndoChildren);
+ delta.removeAll(originalChildren);
+ Assert.assertEquals("List should have no element", 0, delta.size());
+ // should be redoable
+ Assert.assertTrue("Command should be redoable", command.canRedo());
+ status = command.redo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ List<EObject> afterRedoChildren = new ArrayList<EObject>((List<EObject>) container.eGet(containingFeature, true));
+ delta = new ArrayList<EObject>(originalChildren);
+ delta.removeAll(afterRedoChildren);
+ Assert.assertEquals("List should have one more element", 1, delta.size());
+ // undo to revert state
+ Assert.assertTrue("Command should be undoable", command.canUndo());
+ status = command.undo(monitor, null);
+ Assert.assertTrue("Status should be OK", status.isOK());
+ } else {
+ Assert.assertTrue("Command should not be executable", command == null || !command.canExecute());
+ }
+ }
+
+ @Test
+ public void testValidAdvicesOrder() {
+ IElementType classElementType = ElementTypeRegistry.getInstance().getType("org.eclipse.papyrus.uml.Class");
+ ResourceSet resourceSet = new ResourceSetImpl();
+ Resource validAdviesOrderConfigurationResource = resourceSet.getResource(URI.createURI(VALID_ADVICES_ORDER_CONFIGURATIONS), true);
+ EObject root = validAdviesOrderConfigurationResource.getContents().get(0);
+ if (root instanceof ElementTypeSetConfiguration) {
+
+ try {
+ ElementTypeSetConfigurationRegistry.getInstance().loadElementTypeSetConfiguration(TypeContext.getContext().getId(), (ElementTypeSetConfiguration) root);
+ } catch (ServiceException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ IEditHelperAdvice[] advicesAfterLoading = ElementTypeRegistry.getInstance().getEditHelperAdvice(classElementType);
+ Arrays.sort(advicesAfterLoading, new AdviceComparator());
+
+ int advice1Index = -1;
+ int advice2Index = -1;
+ int advice3Index = -1;
+ for (int i = 0; i < advicesAfterLoading.length; i++) {
+ IEditHelperAdvice iEditHelperAdvice = advicesAfterLoading[i];
+ if (iEditHelperAdvice.getClass().getName().equals(ADVICES_ID_1)) {
+ advice1Index = i;
+ } else if (iEditHelperAdvice.getClass().getName().equals(ADVICES_ID_2)) {
+ advice2Index = i;
+ } else if (iEditHelperAdvice.getClass().getName().equals(ADVICES_ID_3)) {
+ advice3Index = i;
+ }
+ }
+
+ Assert.assertTrue(ADVICES_ID_2 + " should be after " + ADVICES_ID_3, advice3Index < advice2Index);
+ Assert.assertTrue(ADVICES_ID_3 + " should be after " + ADVICES_ID_1, advice2Index < advice1Index);
+ } else {
+ Assert.fail("Failed to load test model: " + CYCLIC_ADVICES_CONFIGURATIONS);
+ }
+ }
+
+ @Test
+ public void testCyclicAdvices() {
+ IElementType classElementType = ElementTypeRegistry.getInstance().getType("org.eclipse.papyrus.uml.Class");
+ IEditHelperAdvice[] advicesBeforeLoading = ElementTypeRegistry.getInstance().getEditHelperAdvice(classElementType);
+ ResourceSet resourceSet = new ResourceSetImpl();
+ Resource cyclicAdvicesConfigurationResource = resourceSet.getResource(URI.createURI(CYCLIC_ADVICES_CONFIGURATIONS), true);
+ org.eclipse.emf.ecore.EObject root = cyclicAdvicesConfigurationResource.getContents().get(0);
+ if (root instanceof ElementTypeSetConfiguration) {
+ try {
+ ElementTypeSetConfigurationRegistry.getInstance().loadElementTypeSetConfiguration(TypeContext.getContext().getId(), (ElementTypeSetConfiguration) root);
+ } catch (ServiceException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ IEditHelperAdvice[] advicesAfterLoading = ElementTypeRegistry.getInstance().getEditHelperAdvice(classElementType);
+ Assert.assertArrayEquals("Advices for UML::Class should have not been changed: ", advicesBeforeLoading, advicesAfterLoading);
+ } else {
+ Assert.fail("Failed to load test model: " + CYCLIC_ADVICES_CONFIGURATIONS);
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementTypesRegistryTests.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementTypesRegistryTests.java
new file mode 100644
index 00000000000..d5ca6eb5d05
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ElementTypesRegistryTests.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2010, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus (CEA) - bug 431953 (fix test to prevent Model Repair dialog on unrecognized profile schema)
+ * Christian W. Damus (CEA) - bug 434993
+ * Christian W. Damus - bug 485220
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.types.tests;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Tests for {@link ElementTypeSetConfigurationRegistry}
+ */
+public class ElementTypesRegistryTests extends AbstractElementTypeTests implements ITestConstants {
+
+ /**
+ * Test registration based on plugin declaration
+ */
+ @Test
+ // transcoded from extended types framework
+ public final void testGetTypeRegisteredInplugin() {
+ // check standard class
+ IElementType classType = ElementTypeRegistry.getInstance().getType(ORG_ECLIPSE_PAPYRUS_UML_CLASS);
+ Assert.assertNotNull("Element type should be registered", classType);
+ IElementType abstractClassType = ElementTypeRegistry.getInstance().getType(ABSTRACT_CLASS_TOOL);
+ Assert.assertNotNull("Element type should be registered", abstractClassType);
+ }
+} \ No newline at end of file
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ITestConstants.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ITestConstants.java
new file mode 100644
index 00000000000..8ef9da8f4cc
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/ITestConstants.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.types.tests;
+
+
+/**
+ * Constants for test classes
+ */
+public interface ITestConstants {
+ static final String ORG_ECLIPSE_PAPYRUS_UML_CLASS = "org.eclipse.papyrus.uml.Class"; //$NON-NLS-1$
+
+ final static String ABSTRACT_CLASS_TOOL = "org.eclipse.papyrus.infra.types.tests.aspectabstractclass"; //$NON-NLS-1$
+
+ final static String ElementTypeConfigurationSetName_Test1 = "org.eclipse.papyrus.infra.types.tests.tests"; //$NON-NLS-1$
+
+ final static String WORKSPACE_ELEMENT_TYPE_ID = "org.eclipse.papyrus.infra.types.tests.workspacetype"; //$NON-NLS-1$
+
+ final static String WORKSPACE_ELEMENT_TYPE_TOOL = "org.eclipse.papyrus.infra.types.tests.tool"; //$NON-NLS-1$
+
+ static final String PACKAGE_WITH_COMPONENTS = "PackageWithComponents"; //$NON-NLS-1$
+
+ static final String PACKAGE_WITH_ALL_ELEMENTS = "PackageWithAllElements"; //$NON-NLS-1$
+
+ static final String OTHER_PACKAGE_WITH_COMPONENTS = "OtherPackageWithComponents"; //$NON-NLS-1$
+
+ static final String PACKAGE_WITH_COMPONENTS_TYPE_ID = "org.eclipse.papyrus.infra.types.tests.packagewithcomponentsonly"; //$NON-NLS-1$
+
+ static final String SPECIFICCOMPONENT_TYPE_ID = "org.eclipse.papyrus.infra.types.tests.specificcomponent"; //$NON-NLS-1$
+
+ static final String COMPONENT_NAME = "Component1"; //$NON-NLS-1$
+
+ static final String CYCLIC_ADVICES_CONFIGURATIONS = "platform:/plugin/org.eclipse.papyrus.infra.types.tests/model/cyclicAdvices.elementtypesconfigurations";
+
+ static final String VALID_ADVICES_ORDER_CONFIGURATIONS = "platform:/plugin/org.eclipse.papyrus.infra.types.tests/model/validAdvicesOrder.elementtypesconfigurations";
+
+ static final String ADVICES_ID_1 = "org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice1";
+ static final String ADVICES_ID_2 = "org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice2";
+ static final String ADVICES_ID_3 = "org.eclipse.papyrus.infra.types.tests.TestEditHelperAdvice3";
+
+
+}
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice1.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice1.java
new file mode 100644
index 00000000000..76d0db027aa
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice1.java
@@ -0,0 +1,20 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.types.tests;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+
+public class TestEditHelperAdvice1 extends AbstractEditHelperAdvice {
+
+}
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice2.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice2.java
new file mode 100644
index 00000000000..eabffd14ef8
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice2.java
@@ -0,0 +1,20 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.types.tests;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+
+public class TestEditHelperAdvice2 extends AbstractEditHelperAdvice {
+
+}
diff --git a/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice3.java b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice3.java
new file mode 100644
index 00000000000..c0bd8596c23
--- /dev/null
+++ b/tests/junit/plugins/infra/types/org.eclipse.papyrus.infra.types.tests/src/org/eclipse/papyrus/infra/types/tests/TestEditHelperAdvice3.java
@@ -0,0 +1,20 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.types.tests;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+
+public class TestEditHelperAdvice3 extends AbstractEditHelperAdvice {
+
+}

Back to the top