OSDN Git Service

initial commit
[xdf/git-repos.git] / xdf / src / test / java / jp / ac / aiit / xdf / uidesign / TagLoaderTest.java
1 package jp.ac.aiit.xdf.uidesign;\r
2 \r
3 import static org.testng.Assert.assertEquals;\r
4 \r
5 import java.io.File;\r
6 import java.util.Map;\r
7 \r
8 import jp.ac.aiit.xdf.core.tags.TagLoader;\r
9 import jp.ac.aiit.xdf.core.tags.Tagdef.Tag;\r
10 \r
11 import org.testng.Assert;\r
12 import org.testng.annotations.BeforeMethod;\r
13 import org.testng.annotations.Test;\r
14 \r
15 public class TagLoaderTest {\r
16         private TagLoader tagLoader;\r
17         \r
18         static String testFileOK1 = "trunk/xdf/src/test/resources/Tagdef/tagloader_test_OK1.xml"; \r
19         static String testFileOK2 = "trunk/xdf/src/test/resources/Tagdef/tagloader_test_OK2.xml"; \r
20         static String testFileOK3 = "trunk/xdf/src/test/resources/Tagdef/tagloader_test_OK3.xml"; \r
21         static String testFileNG1 = "trunk/xdf/src/test/resources/Tagdef/tagloader_test_NG1.xml";\r
22         \r
23     @BeforeMethod\r
24     public void init() {\r
25         tagLoader = new TagLoader();\r
26     }\r
27     \r
28         /**\r
29          * テストケース① 正常テスト(一件正常取り込み)\r
30          */\r
31         @Test\r
32         public void verifyNormalOne(){\r
33                 System.out.println("テストケース①:タブ定義取り込みテスト(一件)");\r
34                 try {\r
35                         File file = new File(testFileOK1);\r
36                         \r
37                         Map<String, Tag> result = tagLoader.load(file);\r
38                         \r
39                         // 実行結果のチェック\r
40                         assertEquals(result.get("frame").getModelclass(), "javax.swing.JFrame");\r
41                         assertEquals(result.size(), 1);\r
42                 } catch (Exception e){\r
43                         Assert.fail();\r
44                         e.printStackTrace();\r
45                 }\r
46         }\r
47         \r
48         /**\r
49          * テストケース② 正常テスト(重複取り込み、最初のものだけを取り込み)\r
50          *                     (大文字/子文字の確認を一件修正 \r
51          *                           タブXML定義ファイルにButton -> button) 2008/10/22\r
52          */\r
53         @Test\r
54         public void verifyNormalCancelforOverlap(){\r
55                 System.out.println("テストケース②:重複取り込み、最初のものだけを取り込み");\r
56                 try {\r
57                         File file = new File(testFileOK2);\r
58                         \r
59                         Map<String, Tag> result = tagLoader.load(file);\r
60                         \r
61                         // 実行結果のチェック\r
62                         assertEquals(result.get("frame").getModelclass(), "javax.swing.JFrame");\r
63                         assertEquals(result.get("button").getModelclass(), "javax.swing.JButton");\r
64                         assertEquals(result.get("label").getModelclass(), "javax.swing.JLabel");\r
65                         assertEquals(result.get("textfield").getModelclass(), "javax.swing.JTextField");\r
66                         assertEquals(result.get("textarea").getModelclass(), "javax.swing.JTextArea");\r
67                         assertEquals(result.get("combo").getModelclass(), "javax.swing.JComboBox");\r
68                         assertEquals(result.size(), 6);\r
69                 } catch (Exception e){\r
70                         Assert.fail();\r
71                 }\r
72         }\r
73 \r
74         /**\r
75          * テストケース③ 異常テスト(クラス定義存在していない\r
76          */\r
77         @Test\r
78         public void verifyClassNotExist(){\r
79                 System.out.println("テストケース③ 異常テスト(クラス定義存在していない)");\r
80                 try {\r
81                         File file = new File(testFileNG1);\r
82                         \r
83                         Map<String, Tag> result = tagLoader.load(file);\r
84                         \r
85                         // 実行結果のチェック\r
86                         assertEquals(result.size(), 0);\r
87                 } catch (Exception e){\r
88                         Assert.fail();\r
89                 }\r
90         }\r
91         \r
92         /**\r
93          * テストケース④ 正常テスト(タグ定義XML、コンポーネントマッピング機能\r
94          */\r
95         @Test\r
96         public void verifyNormalforMapping(){\r
97                 System.out.println("テストケース④ 正常テスト(タグ定義XML、コンポーネントマッピング機能)");\r
98                 try {\r
99                         File file = new File(testFileOK3);\r
100                         \r
101                         Map<String, Tag> result = tagLoader.load(file);\r
102                         \r
103                         // 実行結果のチェック\r
104                         assertEquals(result.size(), 1);\r
105                         assertEquals(result.get("frame").getModelclass(), "jp.ac.aiit.xdf.model.DefaultObjectModel");\r
106                         assertEquals(result.get("frame").getComponentMapper().get(0).getEnv(), "swing");\r
107                         assertEquals(result.get("frame").getComponentMapper().get(0).getClazz(), "jp.ac.aiit.xdf.component.swing.JFrameMapper");\r
108 \r
109                 } catch (Exception e){\r
110                         e.printStackTrace();\r
111                 }\r
112         }\r
113         \r
114 //      @Test\r
115 //      public void verifyComponentMapperExists() {\r
116 //              File file = new File(FILE_EXISTS_COMPONENTMAPPER);\r
117 //              \r
118 //              Map<String, Tag> result = tagLoader.load(file);\r
119 //              assertEquals(result.size(), 1);\r
120 //              \r
121 //              Tag tag = result.get("frame");\r
122 //              assertNotNull(tag);\r
123 //              assertEquals(tag.getName(), "frame");\r
124 //              assertEquals(tag.getModelClass(), "jp.ac.aiit.xdf.model.DefaultObjectModel");\r
125 //              \r
126 //              Map<String, ComponentMapper> mappers = tag.getComponentMappers();\r
127 //              assertTrue(mappers.containsKey("swing"));\r
128 //              assertEquals(mappers.get("swing"), "jp.ac.aiit.xdf.modelmapper.swing.JFrameMapper");\r
129 //      }\r
130 \r
131 }