|
1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 package com.nokia.testfw.codegen; |
|
18 |
|
19 import java.util.HashMap; |
|
20 import java.util.Map; |
|
21 import java.util.Set; |
|
22 import java.util.TreeSet; |
|
23 |
|
24 import com.nokia.testfw.codegen.model.ClassNodeImpl; |
|
25 import com.nokia.testfw.codegen.model.MethodNodeImpl; |
|
26 import com.nokia.testfw.codegen.model.ProjectNodeImpl; |
|
27 import com.nokia.testfw.codegen.templates.CMDTemplateBuilder; |
|
28 import com.nokia.testfw.codegen.templates.TemplateBuilderFactory; |
|
29 |
|
30 import junit.framework.TestCase; |
|
31 |
|
32 public class CodegenEngineTest extends TestCase { |
|
33 |
|
34 CodegenEngine ce; |
|
35 CodegenEngine ge; |
|
36 |
|
37 @SuppressWarnings("unchecked") |
|
38 protected void setUp() throws Exception { |
|
39 System.setProperty(TemplateBuilderFactory.TEMPLATEBUILDERCLASS, |
|
40 CMDTemplateBuilder.class.getName()); |
|
41 |
|
42 Map<String, Comparable> data = new HashMap<String, Comparable>(); |
|
43 ProjectNodeImpl lProjectNode = new ProjectNodeImpl("TestModule"); //test_project |
|
44 data.put("project_name", "TestModule"); //test_project |
|
45 data.put("project_object", lProjectNode); |
|
46 data.put("suite_name", "TestSuite"); |
|
47 data.put("location", "test"); |
|
48 data.put("target_type", "EXE"); |
|
49 data.put("UID3", "0x10000001"); |
|
50 data.put("auther_name", "kevin"); |
|
51 data.put("copyright", ""); |
|
52 |
|
53 ClassNodeImpl lClassNode = new ClassNodeImpl("testClass", lProjectNode); |
|
54 lClassNode.setDeclLocation("C:\\testHeader.h"); |
|
55 Set<String> set = new TreeSet<String>(); |
|
56 set.add("C:\\testCpp.cpp"); |
|
57 lClassNode.setImplLocation(set); |
|
58 MethodNodeImpl lMethodNode = new MethodNodeImpl("testMethod", |
|
59 lClassNode); |
|
60 lMethodNode.addParameters("String", "param1"); |
|
61 lMethodNode.addParameters("String", "param2"); |
|
62 lClassNode.addChild(lMethodNode); |
|
63 lProjectNode.addChild(lClassNode); |
|
64 |
|
65 ce = new CodegenEngine("C:\\Temp\\STF_hardcode", data); |
|
66 |
|
67 Map<String, Comparable> data1 = new HashMap<String, Comparable>(); |
|
68 ProjectNodeImpl lProjectNode1 = new ProjectNodeImpl("TestModule"); //test_project |
|
69 data1.put("project_name", "TestModule"); //test_project |
|
70 data1.put("project_object", lProjectNode1); |
|
71 data1.put("suite_name", "TestSuite"); |
|
72 data1.put("location", "test"); |
|
73 data1.put("target_type", "EXE"); |
|
74 data1.put("UID3", "0x10000001"); |
|
75 data1.put("auther_name", "kevin"); |
|
76 data1.put("copyright", ""); |
|
77 |
|
78 ClassNodeImpl lClassNode1 = new ClassNodeImpl("testClass", lProjectNode1); |
|
79 lClassNode1.setDeclLocation("C:\\testHeader.h"); |
|
80 Set<String> set1 = new TreeSet<String>(); |
|
81 set1.add("C:\\testCpp.cpp"); |
|
82 lClassNode1.setImplLocation(set1); |
|
83 MethodNodeImpl lMethodNode1 = new MethodNodeImpl("testMethod", |
|
84 lClassNode1); |
|
85 lMethodNode1.addParameters("String", "param1"); |
|
86 lMethodNode1.addParameters("String", "param2"); |
|
87 lClassNode1.addChild(lMethodNode1); |
|
88 lProjectNode1.addChild(lClassNode1); |
|
89 |
|
90 ge = new CodegenEngine("C:\\Temp\\STF_Script", data1); |
|
91 } |
|
92 |
|
93 public void testGenerate() { |
|
94 try { |
|
95 ce.init(); |
|
96 ge.init(); |
|
97 assertTrue(ce.isInit); |
|
98 } catch (Exception e) { |
|
99 fail("CodegenEngine init failed."); |
|
100 } |
|
101 try { |
|
102 ce.generate("STF_hardcode"); |
|
103 ge.generate("STF_Script"); |
|
104 } catch (Exception e) { |
|
105 e.printStackTrace(); |
|
106 fail("CodegenEngine generation failed."); |
|
107 } |
|
108 // try { |
|
109 // ce.generate("SymbianUnitTest"); |
|
110 // } catch (Exception e) { |
|
111 // e.printStackTrace(); |
|
112 // fail("CodegenEngine generation failed."); |
|
113 // } |
|
114 } |
|
115 |
|
116 } |