diff -r ca8a1b6995f6 -r 52e343bb8f80 tracefw/tracecompiler/test/src/ParseFunctionParametersTest.java --- a/tracefw/tracecompiler/test/src/ParseFunctionParametersTest.java Tue Aug 31 16:45:49 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,228 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: - * - * JUnit tests for function parameters parsing - * - */ - -import static org.junit.Assert.assertTrue; - -import java.util.ArrayList; -import org.junit.Assert; -import org.junit.Test; -import com.nokia.tracecompiler.source.*; -import com.nokia.tracecompiler.document.*; - -public class ParseFunctionParametersTest { - - /** - * SourceDocumentFactory - */ - SourceDocumentFactory iFactory = null; - - public static void main(String[] args) { - org.junit.runner.JUnitCore.main(ParseFunctionParametersTest.class - .getName()); - } - - /** - * jUnit test to test function parameter parsing - */ - @Test - public void testFunctionParameterParsing() { - - FileDocumentMonitor monitor = new FileDocumentMonitor(); - iFactory = monitor.getFactory(); - - ArrayList expectedParameterNames = new ArrayList(); - ArrayList expectedParameterTypes = new ArrayList(); - String functionHeader; - - // Function header 1 - - // First expected parameter - expectedParameterNames.add("aLenght"); //$NON-NLS-1$ - expectedParameterTypes.add("TUint32"); //$NON-NLS-1$ - - // Second expected parameter - expectedParameterNames.add("aWidth"); //$NON-NLS-1$ - expectedParameterTypes.add("TUint16"); //$NON-NLS-1$ - - // Third expected parameter - expectedParameterNames.add("aDelay"); //$NON-NLS-1$ - expectedParameterTypes.add("TUint32"); //$NON-NLS-1$ - - // construct the function header - functionHeader = "DHelloWorld::DHelloWorld(TUint32 aLenght, TUint16 aWidth, TUint32 aDelay)\n" //$NON-NLS-1$ - + "{"; //$NON-NLS-1$ - - System.out.println("Execute test to function header 1"); //$NON-NLS-1$ - executeTest(expectedParameterNames, expectedParameterTypes, - functionHeader); - - // Function header 2 - - // Clear expected names and types arrays - expectedParameterNames.clear(); - expectedParameterTypes.clear(); - - // construct the function header - functionHeader = "EXPORT_C DMessageHandler::DMessageHandler()\n" //$NON-NLS-1$ - + ": iWriter( NULL )\n" //$NON-NLS-1$ - + ", iSettings( NULL )\n" //$NON-NLS-1$ - + "{"; //$NON-NLS-1$ - - System.out.println("Execute test to function header 2"); //$NON-NLS-1$ - executeTest(expectedParameterNames, expectedParameterTypes, - functionHeader); - - // Test headers those caused defects in TraceCompiler version 2.1.0 and - // 2.1.1 - // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - // x - - System.out - .println("Execute tests to function headers those caused defects in TraceCompiler version 2.1.0 and 2.1.1"); //$NON-NLS-1$ - - // Clear expected names and types arrays - expectedParameterNames.clear(); - expectedParameterTypes.clear(); - - // First expected parameter - expectedParameterNames.add("aObserver"); //$NON-NLS-1$ - expectedParameterTypes.add("MModemLcsServerObserver"); //$NON-NLS-1$ - - // Second expected parameter - expectedParameterNames.add("aIsiMsgObserver"); //$NON-NLS-1$ - expectedParameterTypes.add("MModemLcsIsiMsgObserver"); //$NON-NLS-1$ - - // construct the function header - functionHeader = "Cmodemlcsserverrrc::Cmodemlcsserverrrc(MModemLcsServerObserver *aObserver, MModemLcsIsiMsgObserver* aIsiMsgObserver):\n" //$NON-NLS-1$ - + " CActive(EPriorityStandard) // Standard priority\n" //$NON-NLS-1$ - + "{"; //$NON-NLS-1$ - - executeTest(expectedParameterNames, expectedParameterTypes, - functionHeader); - - // Clear expected names and types arrays - expectedParameterNames.clear(); - expectedParameterTypes.clear(); - - // First expected parameter - expectedParameterNames.add("aDriver"); //$NON-NLS-1$ - expectedParameterTypes.add("RMeDriver"); //$NON-NLS-1$ - - // Second expected parameter - expectedParameterNames.add("aMaxMsgLength"); //$NON-NLS-1$ - expectedParameterTypes.add("TUint16"); //$NON-NLS-1$ - - // construct the function header - functionHeader = "CNpeSendData::CNpeSendData(RMeDriver* aDriver, TUint16 aMaxMsgLength): CActive(EPriorityStandard),\n" //$NON-NLS-1$ - + "iDriver(aDriver),\n" //$NON-NLS-1$ - + "iMaxMsgLength(aMaxMsgLength)\n" //$NON-NLS-1$ - + "{"; //$NON-NLS-1$ - - executeTest(expectedParameterNames, expectedParameterTypes, - functionHeader); - - // Same expected parameter names and types are used as previous case - - // construct the function header - functionHeader = "CNpeReceiveData::CNpeReceiveData(RMeDriver* aDriver, TUint16 aMaxMsgLength): CActive(EPriorityStandard),\n" //$NON-NLS-1$ - + "iDriver(aDriver),\n" //$NON-NLS-1$ - + "iMaxMsgLength(aMaxMsgLength)\n" //$NON-NLS-1$ - + "{"; //$NON-NLS-1$ - - executeTest(expectedParameterNames, expectedParameterTypes, - functionHeader); - // x - // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - - } - - /** - * Execute test for function header - * - * @param expectedParameterNames - * expected parameter names - * @param expectedParameterTypes - * expected parameter types - * @param functionHeader - * function header to be parsed - */ - private void executeTest(ArrayList expectedParameterNames, - ArrayList expectedParameterTypes, - final String functionHeader) { - - // first test the parser on an unwrapped string - SourceParser sourceParser = new SourceParser(iFactory, iFactory - .createDocument(functionHeader)); - - // ArrayList actualTokens = new ArrayList(); - ArrayList actualParameters = new ArrayList(); - - // parse string - try { - sourceParser.parseFunctionParameters(0, actualParameters); - - } catch (SourceParserException e) { - Assert.fail(e.getMessage()); - } - - checkContents(actualParameters, expectedParameterNames, - expectedParameterTypes); - } - - /** - * Check contents - * - * @param actualParameters - * actual parsed parameters - * @param expectedParameterNames - * expected parameter names - * @param expectedParameterTypes - * expected parameter types - */ - private static void checkContents( - final ArrayList actualParameters, - final ArrayList expectedParameterNames, - final ArrayList expectedParameterTypes) { - - // Confirm count of parsed parameters - - System.out.println("Confirm count of parsed parameters:"); //$NON-NLS-1$ - System.out.println("actualParameters.size() = " + actualParameters.size()); //$NON-NLS-1$ - System.out.println("expectedParameterNames() = " + expectedParameterNames.size()); //$NON-NLS-1$ - assertTrue(actualParameters.size() == expectedParameterNames.size()); - for (int i = 0; i < actualParameters.size(); i++) { - - // Confirm parsed parameter names - - System.out.println("Confirm parsed parameter names:"); //$NON-NLS-1$ - System.out.println("actualParameters name = " + actualParameters.get(i).getName()); //$NON-NLS-1$ - System.out.println("expectedParameter name = " + expectedParameterNames.get(i)); //$NON-NLS-1$ - assertTrue(actualParameters.get(i).getName().compareTo( - expectedParameterNames.get(i)) == 0); - - // Confirm parsed parameter types - - System.out.println("Confirm parsed parameter types:"); //$NON-NLS-1$ - System.out.println("actualParameters type = " + actualParameters.get(i).getType()); //$NON-NLS-1$ - System.out.println("expectedParameter type = " + expectedParameterTypes.get(i)); //$NON-NLS-1$ - assertTrue(actualParameters.get(i).getType().compareTo( - expectedParameterTypes.get(i)) == 0); - } - } -}