testdev/ite/test/com.nokia.testfw.codegen.test/src/com/nokia/testfw/codegen/CodegenEngineTest.java
changeset 1 96906a986c3b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testdev/ite/test/com.nokia.testfw.codegen.test/src/com/nokia/testfw/codegen/CodegenEngineTest.java	Tue Mar 30 14:39:29 2010 +0800
@@ -0,0 +1,116 @@
+/*
+* 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: 
+*
+*/
+package com.nokia.testfw.codegen;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+
+import com.nokia.testfw.codegen.model.ClassNodeImpl;
+import com.nokia.testfw.codegen.model.MethodNodeImpl;
+import com.nokia.testfw.codegen.model.ProjectNodeImpl;
+import com.nokia.testfw.codegen.templates.CMDTemplateBuilder;
+import com.nokia.testfw.codegen.templates.TemplateBuilderFactory;
+
+import junit.framework.TestCase;
+
+public class CodegenEngineTest extends TestCase {
+
+	CodegenEngine ce;
+	CodegenEngine ge;
+	
+	@SuppressWarnings("unchecked")
+	protected void setUp() throws Exception {
+		System.setProperty(TemplateBuilderFactory.TEMPLATEBUILDERCLASS,
+				CMDTemplateBuilder.class.getName());
+
+		Map<String, Comparable> data = new HashMap<String, Comparable>();
+		ProjectNodeImpl lProjectNode = new ProjectNodeImpl("TestModule");  //test_project
+		data.put("project_name", "TestModule");  //test_project
+		data.put("project_object", lProjectNode);
+		data.put("suite_name", "TestSuite");
+		data.put("location", "test");
+		data.put("target_type", "EXE");
+		data.put("UID3", "0x10000001");
+		data.put("auther_name", "kevin");
+		data.put("copyright", "");
+
+		ClassNodeImpl lClassNode = new ClassNodeImpl("testClass", lProjectNode);
+		lClassNode.setDeclLocation("C:\\testHeader.h");
+		Set<String> set = new TreeSet<String>();
+		set.add("C:\\testCpp.cpp");
+		lClassNode.setImplLocation(set);
+		MethodNodeImpl lMethodNode = new MethodNodeImpl("testMethod",
+				lClassNode);
+		lMethodNode.addParameters("String", "param1");
+		lMethodNode.addParameters("String", "param2");
+		lClassNode.addChild(lMethodNode);
+		lProjectNode.addChild(lClassNode);
+
+		ce = new CodegenEngine("C:\\Temp\\STF_hardcode", data);
+		
+		Map<String, Comparable> data1 = new HashMap<String, Comparable>();
+		ProjectNodeImpl lProjectNode1 = new ProjectNodeImpl("TestModule");  //test_project
+		data1.put("project_name", "TestModule");  //test_project
+		data1.put("project_object", lProjectNode1);
+		data1.put("suite_name", "TestSuite");
+		data1.put("location", "test");
+		data1.put("target_type", "EXE");
+		data1.put("UID3", "0x10000001");
+		data1.put("auther_name", "kevin");
+		data1.put("copyright", "");
+
+		ClassNodeImpl lClassNode1 = new ClassNodeImpl("testClass", lProjectNode1);
+		lClassNode1.setDeclLocation("C:\\testHeader.h");
+		Set<String> set1 = new TreeSet<String>();
+		set1.add("C:\\testCpp.cpp");
+		lClassNode1.setImplLocation(set1);
+		MethodNodeImpl lMethodNode1 = new MethodNodeImpl("testMethod",
+				lClassNode1);
+		lMethodNode1.addParameters("String", "param1");
+		lMethodNode1.addParameters("String", "param2");
+		lClassNode1.addChild(lMethodNode1);
+		lProjectNode1.addChild(lClassNode1);
+
+		ge = new CodegenEngine("C:\\Temp\\STF_Script", data1);
+	}
+
+	public void testGenerate() {
+		try {
+			ce.init();
+			ge.init();
+			assertTrue(ce.isInit);
+		} catch (Exception e) {
+			fail("CodegenEngine init failed.");
+		}
+		try {
+			ce.generate("STF_hardcode");
+			ge.generate("STF_Script");
+		} catch (Exception e) {
+			e.printStackTrace();
+			fail("CodegenEngine generation failed.");
+		}
+//		try {
+//			ce.generate("SymbianUnitTest");
+//		} catch (Exception e) {
+//			e.printStackTrace();
+//			fail("CodegenEngine generation failed.");
+//		}
+	}
+
+}