Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java')
-rw-r--r--core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java353
1 files changed, 161 insertions, 192 deletions
diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java
index d4c6a967e05..03dc60f103a 100644
--- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java
+++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/ITemplateTests.java
@@ -31,8 +31,6 @@ import org.eclipse.cdt.core.model.ITemplate;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.model.IVariable;
-
-
/**
* Class for testing ITemplate interface
* @author bnicolle
@@ -61,33 +59,32 @@ public class ITemplateTests extends IntegratedCModelTest {
public String getSourcefileResource() {
return "ITemplate.cpp";
}
+
/**
* @returns a test suite named after this class
* containing all its public members named "test*"
*/
public static Test suite() {
- TestSuite suite= new TestSuite( IStructureTests.class.getName() );
-
+ TestSuite suite = new TestSuite(IStructureTests.class.getName());
+
// Interface tests:
- suite.addTest( new ITemplateTests("testGetChildrenOfTypeTemplate"));
- suite.addTest( new ITemplateTests("testGetNumberOfTemplateParameters"));
- suite.addTest( new ITemplateTests("testGetTemplateParameterTypes"));
- suite.addTest( new ITemplateTests("testGetTemplateSignature"));
-
- // Language Specification tests:
+ suite.addTest(new ITemplateTests("testGetChildrenOfTypeTemplate"));
+ suite.addTest(new ITemplateTests("testGetNumberOfTemplateParameters"));
+ suite.addTest(new ITemplateTests("testGetTemplateParameterTypes"));
+ suite.addTest(new ITemplateTests("testGetTemplateSignature"));
+
+ // Language Specification tests:
// TBD.
-
+
return suite;
}
- public List getTemplateMethods(ITranslationUnit tu) throws CModelException
- {
+ public List getTemplateMethods(ITranslationUnit tu) throws CModelException {
IStructure myElem = null;
try {
myElem = (IStructure) tu.getElement("TemplateContainer");
- }
- catch( CModelException c ) {
- assertNotNull( c );
+ } catch (CModelException c) {
+ assertNotNull(c);
}
assertNotNull(myElem);
List list = myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION);
@@ -99,254 +96,226 @@ public class ITemplateTests extends IntegratedCModelTest {
ITranslationUnit tu = getTU();
{
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT);
- String[] myExpectedValues = {
- "Map"
- };
+ String[] myExpectedValues = { "Map" };
assertEquals(myExpectedValues.length, arrayElements.size());
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
}
}
{
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS);
- String[] myExpectedValues = {
- "nonVector"
- };
+ String[] myExpectedValues = { "nonVector" };
assertEquals(myExpectedValues.length, arrayElements.size());
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
}
}
{
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION);
- String[] myExpectedValues = {
- "ArrayOverlay"
- };
+ String[] myExpectedValues = { "ArrayOverlay" };
assertEquals(myExpectedValues.length, arrayElements.size());
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
}
}
{
// Method from the TemplateContainer
List arrayElements = getTemplateMethods(tu);
- String[] myExpectedValues = {
- "fum",
- "scrum",
- };
- assertEquals(myExpectedValues.length, arrayElements.size());
- // This test is no correct there is no guaranty on the order
- // for this particular case
- for(int i=0; i<myExpectedValues.length; i++) {
- ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
- }
+ String[] myExpectedValues = { "fum", "scrum", };
+ assertEquals(myExpectedValues.length, arrayElements.size());
+ // This test is no correct there is no guaranty on the order
+ // for this particular case
+ for (int i = 0; i < myExpectedValues.length; i++) {
+ ICElement celement = (ICElement) arrayElements.get(i);
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
+ }
}
{
// Check the template function
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION);
// actually, none of the two are function templates, but method templates
String[] myExpectedValues = {
-// "nonVector<T>::first",
-// "Foo::fum",
- };
- assertEquals(myExpectedValues.length, arrayElements.size());
- // This test is no correct there is no guaranty on the order
- // for this particular case
- for(int i=0; i<myExpectedValues.length; i++) {
- ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
- }
+ // "nonVector<T>::first",
+ // "Foo::fum",
+ };
+ assertEquals(myExpectedValues.length, arrayElements.size());
+ // This test is no correct there is no guaranty on the order
+ // for this particular case
+ for (int i = 0; i < myExpectedValues.length; i++) {
+ ICElement celement = (ICElement) arrayElements.get(i);
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
+ }
}
{
// Check the template method
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD);
- String[] myExpectedValues = {
- "nonVector<T>::first",
- "Foo::fum",
- };
- assertEquals(myExpectedValues.length, arrayElements.size());
- // This test is no correct there is no guaranty on the order
- // for this particular case
- for(int i=0; i<myExpectedValues.length; i++) {
- ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
- }
+ String[] myExpectedValues = { "nonVector<T>::first", "Foo::fum", };
+ assertEquals(myExpectedValues.length, arrayElements.size());
+ // This test is no correct there is no guaranty on the order
+ // for this particular case
+ for (int i = 0; i < myExpectedValues.length; i++) {
+ ICElement celement = (ICElement) arrayElements.get(i);
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
+ }
}
{
// Template function declation
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION);
- String[] myExpectedValues = {
- "IsGreaterThan"
- };
+ String[] myExpectedValues = { "IsGreaterThan" };
assertEquals(myExpectedValues.length, arrayElements.size());
// This test is no correct there is no guaranty on the order
// for this particular case
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
ICElement celement = (ICElement) arrayElements.get(i);
- ITemplate myITemplate = (ITemplate)celement;
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
+ ITemplate myITemplate = (ITemplate) celement;
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], celement.getElementName());
}
}
{
-// // Methods and Functions are tested together as
-// // Function declarations in Quick Parse mode
-// // are considered Method Declarations in Structural parse mode
-// List arrayElements = getTemplateMethods(tu);
-// arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION));
-// arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION));
-// String[] myExpectedValues = {
-// "fum",
-// "scrum",
-// "nonVector<T>::first",
-// "Foo::fum",
-// "IsGreaterThan"
-// };
-// assertEquals(myExpectedValues.length, arrayElements.size());
-// // This test is no correct there is no guaranty on the order
-// // for this particular case
-// for(int i=0; i<myExpectedValues.length; i++) {
-// ICElement celement = (ICElement) arrayElements.get(i);
-// ITemplate myITemplate = (ITemplate)celement;
-// assertNotNull( "Failed on "+i, myITemplate);
-// assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
-// }
+ // // Methods and Functions are tested together as
+ // // Function declarations in Quick Parse mode
+ // // are considered Method Declarations in Structural parse mode
+ // List arrayElements = getTemplateMethods(tu);
+ // arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION));
+ // arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION));
+ // String[] myExpectedValues = {
+ // "fum",
+ // "scrum",
+ // "nonVector<T>::first",
+ // "Foo::fum",
+ // "IsGreaterThan"
+ // };
+ // assertEquals(myExpectedValues.length, arrayElements.size());
+ // // This test is no correct there is no guaranty on the order
+ // // for this particular case
+ // for(int i=0; i<myExpectedValues.length; i++) {
+ // ICElement celement = (ICElement) arrayElements.get(i);
+ // ITemplate myITemplate = (ITemplate)celement;
+ // assertNotNull( "Failed on "+i, myITemplate);
+ // assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
+ // }
}
- {
+ {
List arrayElements = tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE);
- String[] myExpectedValues = {
- "default_alloc_template<threads,inst>::S_start_free"
- };
+ String[] myExpectedValues = { "default_alloc_template<threads,inst>::S_start_free" };
assertEquals(myExpectedValues.length, arrayElements.size());
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
IVariable myITemplate = (IVariable) arrayElements.get(i);
- assertNotNull( "Failed on "+i, myITemplate);
- assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
+ assertNotNull("Failed on " + i, myITemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], myITemplate.getElementName());
}
}
}
-
- public void testGetNumberOfTemplateParameters() throws CModelException
- {
+ public void testGetNumberOfTemplateParameters() throws CModelException {
ITranslationUnit tu = getTU();
ArrayList arrayElements = new ArrayList();
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION ) );
- arrayElements.addAll( getTemplateMethods(tu) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
-
- int[] myExpectedNumbers = {
- 3,1,3,1,1,1,1,1,2
- };
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION));
+ arrayElements.addAll(getTemplateMethods(tu));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE));
+
+ int[] myExpectedNumbers = { 3, 1, 3, 1, 1, 1, 1, 1, 2 };
assertEquals(myExpectedNumbers.length, arrayElements.size());
- for(int i=0; i<myExpectedNumbers.length; i++) {
+ for (int i = 0; i < myExpectedNumbers.length; i++) {
ITemplate myTemplate = (ITemplate) arrayElements.get(i);
- assertNotNull( "Failed on "+i, myTemplate );
- assertEquals( "Failed on "+i, myExpectedNumbers[i],
- myTemplate.getNumberOfTemplateParameters());
+ assertNotNull("Failed on " + i, myTemplate);
+ assertEquals("Failed on " + i, myExpectedNumbers[i], myTemplate.getNumberOfTemplateParameters());
}
}
- public void testGetTemplateParameterTypes() throws CModelException
- {
+
+ public void testGetTemplateParameterTypes() throws CModelException {
ITranslationUnit tu = getTU();
ArrayList arrayElements = new ArrayList();
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION ) );
- arrayElements.addAll( getTemplateMethods(tu) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
-
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION));
+ arrayElements.addAll(getTemplateMethods(tu));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE));
+
String[][] myExpectedValues = {
- //"Map"
- {"Key", "Value", "SortAlgorithm"},
- //"nonVector"
- {"T"},
- //"ArrayOverlay"
- {"X","Y","int=16"},
- //"TemplateContainer::fum"
- {"Bar"},
- //"TemplateParameter::scrum"
- {"int"},
- //"nonVector::first"
- {"T"},
- //"Foo::fum"
- {"Bar"},
- //"IsGreaterThan"
- {"X"},
- //"default_alloc_template::S_start_free"
- {"bool", "int"},
- };
+ //"Map"
+ { "Key", "Value", "SortAlgorithm" },
+ //"nonVector"
+ { "T" },
+ //"ArrayOverlay"
+ { "X", "Y", "int=16" },
+ //"TemplateContainer::fum"
+ { "Bar" },
+ //"TemplateParameter::scrum"
+ { "int" },
+ //"nonVector::first"
+ { "T" },
+ //"Foo::fum"
+ { "Bar" },
+ //"IsGreaterThan"
+ { "X" },
+ //"default_alloc_template::S_start_free"
+ { "bool", "int" }, };
assertEquals(myExpectedValues.length, arrayElements.size());
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
ITemplate myTemplate = (ITemplate) arrayElements.get(i);
- assertNotNull( "Failed on "+i, myTemplate );
+ assertNotNull("Failed on " + i, myTemplate);
String[] myExpectedParams = myExpectedValues[i];
String[] myParams = myTemplate.getTemplateParameterTypes();
- assertEquals( "Failed on "+i, myExpectedParams.length, myParams.length );
- for(int j=0; j<myExpectedParams.length; j++) {
- assertEquals( "Failed on "+i+","+j, myExpectedParams[j], myParams[j] );
+ assertEquals("Failed on " + i, myExpectedParams.length, myParams.length);
+ for (int j = 0; j < myExpectedParams.length; j++) {
+ assertEquals("Failed on " + i + "," + j, myExpectedParams[j], myParams[j]);
}
}
}
- public void testGetTemplateSignature() throws CModelException
- {
+
+ public void testGetTemplateSignature() throws CModelException {
ITranslationUnit tu = getTU();
ArrayList arrayElements = new ArrayList();
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION ) );
- arrayElements.addAll( getTemplateMethods(tu) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION ) );
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION ) );
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_CLASS));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_UNION));
+ arrayElements.addAll(getTemplateMethods(tu));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION));
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION));
// TEMPLATE_VARIABLE moved to failed tests
- arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
-
- String[] myExpectedValues = {
- "Map<Key, Value, SortAlgorithm>",
- "nonVector<T>",
- "ArrayOverlay<X, Y, int=16>",
- "fum<Bar>(int) : void",
- "scrum<int>(void) : void", // TODO: deduce the rules of () versus (void), compare below.
- "nonVector<T>::first<T>() const : const T&", // TODO: where should <T> be?
- "Foo::fum<Bar>(int) : void",
- // TODO: shouldn't signature indicate const function as well?
- "IsGreaterThan<X>(X, X) : bool",
- "default_alloc_template<threads,inst>::S_start_free<bool, int> : char*",
- };
+ arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE));
+
+ String[] myExpectedValues = { "Map<Key, Value, SortAlgorithm>", "nonVector<T>", "ArrayOverlay<X, Y, int=16>",
+ "fum<Bar>(int) : void", "scrum<int>(void) : void", // TODO: deduce the rules of () versus (void), compare below.
+ "nonVector<T>::first<T>() const : const T&", // TODO: where should <T> be?
+ "Foo::fum<Bar>(int) : void",
+ // TODO: shouldn't signature indicate const function as well?
+ "IsGreaterThan<X>(X, X) : bool",
+ "default_alloc_template<threads,inst>::S_start_free<bool, int> : char*", };
assertEquals(myExpectedValues.length, arrayElements.size());
- for(int i=0; i<myExpectedValues.length; i++) {
+ for (int i = 0; i < myExpectedValues.length; i++) {
ITemplate myTemplate = (ITemplate) arrayElements.get(i);
- assertNotNull( "Failed on "+i, myTemplate );
- assertEquals( "Failed on "+i, myExpectedValues[i],
- myTemplate.getTemplateSignature() );
+ assertNotNull("Failed on " + i, myTemplate);
+ assertEquals("Failed on " + i, myExpectedValues[i], myTemplate.getTemplateSignature());
}
}
}

Back to the top