mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-08 08:45:44 +02:00
2005-06-25 Alain Magloire
PR 98788: Templates * model/org/eclipse/cdt/core/model/tests/CModleElementsTests.java * model/org/eclipse/cdt/core/model/tests/ITemplateTests.java * model/org/eclipse/cdt/core/model/tests/StructureCModelElementsTests.java * model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java
This commit is contained in:
parent
dd2d2f9a52
commit
1252d8004a
5 changed files with 132 additions and 53 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-06-25 Alain Magloire
|
||||
PR 98788: Templates
|
||||
* model/org/eclipse/cdt/core/model/tests/CModleElementsTests.java
|
||||
* model/org/eclipse/cdt/core/model/tests/ITemplateTests.java
|
||||
* model/org/eclipse/cdt/core/model/tests/StructureCModelElementsTests.java
|
||||
* model/org/eclipse/cdt/core/model/tests/StructuralTemplateTests.java
|
||||
|
||||
2005-06-16 Vladimir Hirsl
|
||||
Updated search related tests to reflect function parameters in search pattern.
|
||||
|
||||
|
|
|
@ -27,15 +27,19 @@ import org.eclipse.cdt.core.model.IEnumerator;
|
|||
import org.eclipse.cdt.core.model.IField;
|
||||
import org.eclipse.cdt.core.model.IFunction;
|
||||
import org.eclipse.cdt.core.model.IFunctionDeclaration;
|
||||
import org.eclipse.cdt.core.model.IFunctionTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.model.IInclude;
|
||||
import org.eclipse.cdt.core.model.IMacro;
|
||||
import org.eclipse.cdt.core.model.IMethod;
|
||||
import org.eclipse.cdt.core.model.IMethodDeclaration;
|
||||
import org.eclipse.cdt.core.model.IMethodTemplate;
|
||||
import org.eclipse.cdt.core.model.IMethodTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.model.INamespace;
|
||||
import org.eclipse.cdt.core.model.IParent;
|
||||
import org.eclipse.cdt.core.model.ISourceRange;
|
||||
import org.eclipse.cdt.core.model.ISourceReference;
|
||||
import org.eclipse.cdt.core.model.IStructure;
|
||||
import org.eclipse.cdt.core.model.IStructureTemplate;
|
||||
import org.eclipse.cdt.core.model.ITranslationUnit;
|
||||
import org.eclipse.cdt.core.model.ITypeDef;
|
||||
import org.eclipse.cdt.core.model.IVariable;
|
||||
|
@ -43,9 +47,6 @@ import org.eclipse.cdt.core.model.IVariableDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
|
||||
import org.eclipse.cdt.core.testplugin.CProjectHelper;
|
||||
import org.eclipse.cdt.core.testplugin.CTestPlugin;
|
||||
import org.eclipse.cdt.internal.core.model.FunctionTemplate;
|
||||
import org.eclipse.cdt.internal.core.model.MethodTemplate;
|
||||
import org.eclipse.cdt.internal.core.model.StructureTemplate;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
|
@ -436,8 +437,8 @@ public class CModelElementsTests extends TestCase {
|
|||
|
||||
private void checkTemplates(IParent namespace) throws CModelException{
|
||||
// template function
|
||||
List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION);
|
||||
FunctionTemplate ft = (FunctionTemplate)functionTemplates.get(0);
|
||||
List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION);
|
||||
IFunctionTemplateDeclaration ft = (IFunctionTemplateDeclaration)functionTemplates.get(0);
|
||||
assertEquals(ft.getElementName(), new String("aTemplatedFunction"));
|
||||
checkElementOffset(ft);
|
||||
ft.getTemplateSignature();
|
||||
|
@ -448,8 +449,8 @@ public class CModelElementsTests extends TestCase {
|
|||
List nsClasses = namespace.getChildrenOfType(ICElement.C_CLASS);
|
||||
IStructure enclosingClass = (IStructure) nsClasses.get(1);
|
||||
checkLineNumbers(enclosingClass, 115, 120);
|
||||
List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD);
|
||||
MethodTemplate mt = (MethodTemplate)methodTemplates.get(0);
|
||||
List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION);
|
||||
IMethodTemplateDeclaration mt = (IMethodTemplateDeclaration)methodTemplates.get(0);
|
||||
assertEquals(mt.getElementName(), new String("aTemplatedMethod"));
|
||||
checkElementOffset(mt);
|
||||
assertEquals(mt.getTemplateSignature(), new String("aTemplatedMethod<A, B>(B) : A"));
|
||||
|
@ -458,7 +459,7 @@ public class CModelElementsTests extends TestCase {
|
|||
|
||||
// template class
|
||||
List classTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_CLASS);
|
||||
StructureTemplate ct = (StructureTemplate)classTemplates.get(0);
|
||||
IStructureTemplate ct = (IStructureTemplate)classTemplates.get(0);
|
||||
assertEquals(ct.getElementName(), new String("myarray"));
|
||||
checkElementOffset(ct);
|
||||
assertEquals(ct.getTemplateSignature(), new String("myarray<T, Tibor>"));
|
||||
|
@ -466,7 +467,7 @@ public class CModelElementsTests extends TestCase {
|
|||
|
||||
// template struct
|
||||
List structTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT);
|
||||
StructureTemplate st = (StructureTemplate)structTemplates.get(0);
|
||||
IStructureTemplate st = (IStructureTemplate)structTemplates.get(0);
|
||||
assertEquals(st.getElementName(), new String("mystruct"));
|
||||
checkElementOffset(st);
|
||||
assertEquals(st.getTemplateSignature(), new String("mystruct<T, Tibor>"));
|
||||
|
|
|
@ -77,7 +77,9 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
assertNotNull( c );
|
||||
}
|
||||
assertNotNull(myElem);
|
||||
return myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD);
|
||||
List list = myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION);
|
||||
list.addAll((myElem.getChildrenOfType(ICElement.C_TEMPLATE_METHOD)));
|
||||
return list;
|
||||
}
|
||||
|
||||
public void testGetChildrenOfTypeTemplate() throws CModelException {
|
||||
|
@ -89,9 +91,10 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -101,9 +104,10 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -113,31 +117,87 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
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
|
||||
// Method from the TemplateContainer
|
||||
List arrayElements = getTemplateMethods(tu);
|
||||
arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION));
|
||||
String[] myExpectedValues = {
|
||||
"fum",
|
||||
"scrum",
|
||||
"nonVector<T>::first",
|
||||
"IsGreaterThan",
|
||||
"Foo::fum"
|
||||
"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);
|
||||
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"
|
||||
};
|
||||
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++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
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());
|
||||
// }
|
||||
}
|
||||
/*
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
{
|
||||
|
@ -164,6 +224,7 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
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_FUNCTION_DECLARATION ) );
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
|
||||
|
||||
|
@ -188,8 +249,9 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
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_FUNCTION_DECLARATION ) );
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_VARIABLE_TEMPLATE ) );
|
||||
|
||||
String[][] myExpectedValues = {
|
||||
//"Map"
|
||||
|
@ -204,10 +266,10 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
{"int"},
|
||||
//"nonVector::first"
|
||||
{"T"},
|
||||
//"IsGreaterThan"
|
||||
{"X"},
|
||||
//"Foo::fum"
|
||||
{"Bar"},
|
||||
//"IsGreaterThan"
|
||||
{"X"},
|
||||
/*
|
||||
//"default_alloc_template::S_start_free"
|
||||
{"bool", "int"},*/
|
||||
|
@ -233,6 +295,7 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
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_FUNCTION_DECLARATION ) );
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
|
||||
|
||||
|
@ -243,9 +306,9 @@ public class ITemplateTests extends IntegratedCModelTest {
|
|||
"fum<Bar>(int) : void",
|
||||
"scrum<int>(void) : void", // TODO: deduce the rules of () versus (void), compare below.
|
||||
"nonVector<T>::first<T>() : 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",
|
||||
"Foo::fum<Bar>(int) : void",
|
||||
/*"default_alloc_template<threads,inst>::S_start_free<bool, int> : char*",*/
|
||||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
|
|
|
@ -28,15 +28,18 @@ import org.eclipse.cdt.core.model.IEnumerator;
|
|||
import org.eclipse.cdt.core.model.IField;
|
||||
import org.eclipse.cdt.core.model.IFunction;
|
||||
import org.eclipse.cdt.core.model.IFunctionDeclaration;
|
||||
import org.eclipse.cdt.core.model.IFunctionTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.model.IInclude;
|
||||
import org.eclipse.cdt.core.model.IMacro;
|
||||
import org.eclipse.cdt.core.model.IMethod;
|
||||
import org.eclipse.cdt.core.model.IMethodDeclaration;
|
||||
import org.eclipse.cdt.core.model.IMethodTemplateDeclaration;
|
||||
import org.eclipse.cdt.core.model.INamespace;
|
||||
import org.eclipse.cdt.core.model.IParent;
|
||||
import org.eclipse.cdt.core.model.ISourceRange;
|
||||
import org.eclipse.cdt.core.model.ISourceReference;
|
||||
import org.eclipse.cdt.core.model.IStructure;
|
||||
import org.eclipse.cdt.core.model.IStructureTemplate;
|
||||
import org.eclipse.cdt.core.model.ITranslationUnit;
|
||||
import org.eclipse.cdt.core.model.ITypeDef;
|
||||
import org.eclipse.cdt.core.model.IVariable;
|
||||
|
@ -44,9 +47,6 @@ import org.eclipse.cdt.core.model.IVariableDeclaration;
|
|||
import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
|
||||
import org.eclipse.cdt.core.testplugin.CProjectHelper;
|
||||
import org.eclipse.cdt.core.testplugin.CTestPlugin;
|
||||
import org.eclipse.cdt.internal.core.model.FunctionTemplate;
|
||||
import org.eclipse.cdt.internal.core.model.MethodTemplate;
|
||||
import org.eclipse.cdt.internal.core.model.StructureTemplate;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
|
@ -444,8 +444,8 @@ public class StructuralCModelElementsTests extends TestCase {
|
|||
|
||||
private void checkTemplates(IParent namespace) throws CModelException{
|
||||
// template function
|
||||
List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION);
|
||||
FunctionTemplate ft = (FunctionTemplate)functionTemplates.get(0);
|
||||
List functionTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_FUNCTION_DECLARATION);
|
||||
IFunctionTemplateDeclaration ft = (IFunctionTemplateDeclaration)functionTemplates.get(0);
|
||||
assertEquals(ft.getElementName(), new String("aTemplatedFunction")); //$NON-NLS-1$
|
||||
checkElementOffset(ft);
|
||||
ft.getTemplateSignature();
|
||||
|
@ -456,8 +456,8 @@ public class StructuralCModelElementsTests extends TestCase {
|
|||
List nsClasses = namespace.getChildrenOfType(ICElement.C_CLASS);
|
||||
IStructure enclosingClass = (IStructure) nsClasses.get(1);
|
||||
checkLineNumbers(enclosingClass, 115, 120);
|
||||
List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD);
|
||||
MethodTemplate mt = (MethodTemplate)methodTemplates.get(0);
|
||||
List methodTemplates = enclosingClass.getChildrenOfType(ICElement.C_TEMPLATE_METHOD_DECLARATION);
|
||||
IMethodTemplateDeclaration mt = (IMethodTemplateDeclaration)methodTemplates.get(0);
|
||||
assertEquals(mt.getElementName(), new String("aTemplatedMethod")); //$NON-NLS-1$
|
||||
checkElementOffset(mt);
|
||||
assertEquals(mt.getTemplateSignature(), new String("aTemplatedMethod<A, B>(B) : A")); //$NON-NLS-1$
|
||||
|
@ -466,7 +466,7 @@ public class StructuralCModelElementsTests extends TestCase {
|
|||
|
||||
// template class
|
||||
List classTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_CLASS);
|
||||
StructureTemplate ct = (StructureTemplate)classTemplates.get(0);
|
||||
IStructureTemplate ct = (IStructureTemplate)classTemplates.get(0);
|
||||
assertEquals(ct.getElementName(), new String("myarray")); //$NON-NLS-1$
|
||||
checkElementOffset(ct);
|
||||
assertEquals(ct.getTemplateSignature(), new String("myarray<T, Tibor>")); //$NON-NLS-1$
|
||||
|
@ -474,7 +474,7 @@ public class StructuralCModelElementsTests extends TestCase {
|
|||
|
||||
// template struct
|
||||
List structTemplates = namespace.getChildrenOfType(ICElement.C_TEMPLATE_STRUCT);
|
||||
StructureTemplate st = (StructureTemplate)structTemplates.get(0);
|
||||
IStructureTemplate st = (IStructureTemplate)structTemplates.get(0);
|
||||
assertEquals(st.getElementName(), new String("mystruct")); //$NON-NLS-1$
|
||||
checkElementOffset(st);
|
||||
assertEquals(st.getTemplateSignature(), new String("mystruct<T, Tibor>")); //$NON-NLS-1$
|
||||
|
|
|
@ -57,9 +57,10 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -69,9 +70,10 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -81,9 +83,10 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -93,18 +96,20 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
List arrayElements = 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));
|
||||
String[] myExpectedValues = {
|
||||
"fum",
|
||||
"scrum",
|
||||
"IsGreaterThan",
|
||||
"first",
|
||||
"fum"
|
||||
"fum",
|
||||
"IsGreaterThan",
|
||||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
for(int i=0; i<myExpectedValues.length; i++) {
|
||||
ITemplate myITemplate = (ITemplate) arrayElements.get(i);
|
||||
ICElement celement = (ICElement) arrayElements.get(i);
|
||||
ITemplate myITemplate = (ITemplate)celement;
|
||||
assertNotNull( "Failed on "+i, myITemplate);
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], myITemplate.getElementName());
|
||||
assertEquals("Failed on "+i, myExpectedValues[i], celement.getElementName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -120,6 +125,7 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
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_FUNCTION_DECLARATION ) );
|
||||
arrayElements.addAll(tu.getChildrenOfType(ICElement.C_TEMPLATE_METHOD));
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
|
||||
|
@ -149,6 +155,7 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
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));
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
|
||||
|
||||
|
@ -163,12 +170,12 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
{"Bar"},
|
||||
//"TemplateParameter::scrum"
|
||||
{"int"},
|
||||
//"IsGreaterThan"
|
||||
{"X"},
|
||||
//"nonVector::first"
|
||||
{"T"},
|
||||
//"Foo::fum"
|
||||
{"Bar"},
|
||||
//"IsGreaterThan"
|
||||
{"X"},
|
||||
/*
|
||||
//"default_alloc_template::S_start_free"
|
||||
{"bool", "int"},*/
|
||||
|
@ -198,6 +205,7 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
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));
|
||||
// TEMPLATE_VARIABLE moved to failed tests
|
||||
//arrayElements.addAll( tu.getChildrenOfType(ICElement.C_TEMPLATE_VARIABLE ) );
|
||||
|
||||
|
@ -208,9 +216,9 @@ public class StructuralTemplateTests extends ITemplateTests {
|
|||
"fum<Bar>(int) : void",
|
||||
"scrum<int>(void) : void", // TODO: deduce the rules of () versus (void), compare below.
|
||||
// TODO: shouldn't signature indicate const function as well?
|
||||
"IsGreaterThan<X>(X, X) : bool",
|
||||
"first<T>() : const T&", // TODO: where should <T> be?
|
||||
"fum<Bar>(int) : void",
|
||||
"IsGreaterThan<X>(X, X) : bool",
|
||||
/*"default_alloc_template<threads,inst>::S_start_free<bool, int> : char*",*/
|
||||
};
|
||||
assertEquals(myExpectedValues.length, arrayElements.size());
|
||||
|
|
Loading…
Add table
Reference in a new issue