OSDN Git Service

change internal process method, which introducing ExtractionResultSet
[stigmata/stigmata.git] / src / test / java / jp / naist / se / stigmata / birthmarks / smc / SmcBirthmarkExtractorTest.java
1 package jp.naist.se.stigmata.birthmarks.smc;\r
2 \r
3 /*\r
4  * $Id$\r
5  */\r
6 \r
7 import jp.naist.se.stigmata.Birthmark;\r
8 import jp.naist.se.stigmata.BirthmarkContext;\r
9 import jp.naist.se.stigmata.BirthmarkElement;\r
10 import jp.naist.se.stigmata.BirthmarkSet;\r
11 import jp.naist.se.stigmata.ExtractionResultSet;\r
12 import jp.naist.se.stigmata.Stigmata;\r
13 \r
14 import org.junit.Assert;\r
15 import org.junit.Before;\r
16 import org.junit.Test;\r
17 \r
18 /**\r
19  *\r
20  * @author Haruaki TAMADA\r
21  * @version $Revision$ $Date$\r
22  */\r
23 public class SmcBirthmarkExtractorTest{\r
24     private Stigmata stigmata;\r
25     private BirthmarkContext context;\r
26 \r
27     @Before\r
28     public void setup(){\r
29         stigmata = Stigmata.getInstance();\r
30         context = stigmata.createContext();\r
31         context.addExtractionType("smc");\r
32     }\r
33 \r
34     @Test\r
35     public void checkSmcBirthmark() throws Exception{\r
36         ExtractionResultSet ers = stigmata.createEngine().extract(\r
37             new String[] { "target/classes/jp/naist/se/stigmata/Stigmata.class", },\r
38             context\r
39         );\r
40         BirthmarkSet[] array = ers.getBirthmarkSets();\r
41 \r
42         Assert.assertEquals(1, array.length);\r
43         Assert.assertNotNull(array[0].getBirthmark("smc"));\r
44 \r
45         Birthmark birthmark = array[0].getBirthmark("smc");\r
46         Assert.assertEquals("smc", birthmark.getType());\r
47 \r
48         BirthmarkElement[] elements = birthmark.getElements();\r
49         for(int i = 0; i < elements.length; i++){\r
50             Assert.assertEquals(\r
51                 "jp.naist.se.stigmata.birthmarks.smc.MethodCallBirthmarkElement",\r
52                 elements[i].getClass().getName()\r
53             );\r
54         }\r
55         /*\r
56         Assert.assertEquals(76, birthmark.getElementCount());\r
57         int index = 0;\r
58         Assert.assertEquals("java.io.FileInputStream#<init>",       elements[index++].getValue());\r
59         Assert.assertEquals("java.io.File#<init>",                  elements[index++].getValue());\r
60         Assert.assertEquals("java.io.File#exists",                  elements[index++].getValue());\r
61         Assert.assertEquals("java.lang.System#getProperty",         elements[index++].getValue());\r
62         Assert.assertEquals("java.io.File#<init>",                  elements[index++].getValue());\r
63         Assert.assertEquals("java.io.File#exists",                  elements[index++].getValue());\r
64         Assert.assertEquals("java.io.FileInputStream#<init>",       elements[index++].getValue());\r
65         Assert.assertEquals("java.lang.Object#getClass",            elements[index++].getValue());\r
66         Assert.assertEquals("java.lang.Class#getResourceAsStream",  elements[index++].getValue());\r
67         Assert.assertEquals("java.util.ArrayList#<init>",           elements[index++].getValue());\r
68         Assert.assertEquals("java.util.ArrayList#<init>",           elements[index++].getValue());\r
69         Assert.assertEquals("java.lang.String#endsWith",            elements[index++].getValue());\r
70         Assert.assertEquals("java.util.List#add",                   elements[index++].getValue());\r
71         Assert.assertEquals("java.lang.String#endsWith",            elements[index++].getValue());\r
72         Assert.assertEquals("java.lang.String#endsWith",            elements[index++].getValue());\r
73         Assert.assertEquals("java.util.List#add",                   elements[index++].getValue());\r
74         Assert.assertEquals("java.io.File#<init>",                  elements[index++].getValue());\r
75         Assert.assertEquals("java.io.File#toURI",                   elements[index++].getValue());\r
76         Assert.assertEquals("java.net.URI#toURL",                   elements[index++].getValue());\r
77         Assert.assertEquals("java.lang.String#endsWith",            elements[index++].getValue());\r
78         Assert.assertEquals("java.util.List#add",                   elements[index++].getValue());\r
79         Assert.assertEquals("java.util.List#iterator",              elements[index++].getValue());\r
80         Assert.assertEquals("java.util.Iterator#hasNext",           elements[index++].getValue());\r
81         Assert.assertEquals("java.util.Iterator#next",              elements[index++].getValue());\r
82         Assert.assertEquals("java.util.Iterator#hasNext",           elements[index++].getValue());\r
83         Assert.assertEquals("java.util.Iterator#next",              elements[index++].getValue());\r
84         Assert.assertEquals("java.net.URL#openStream",              elements[index++].getValue());\r
85         Assert.assertEquals("java.util.List#add",                   elements[index++].getValue());\r
86         Assert.assertEquals("java.util.List#size",                  elements[index++].getValue());\r
87         Assert.assertEquals("java.util.List#toArray",               elements[index++].getValue());\r
88         Assert.assertEquals("java.util.ArrayList#<init>",           elements[index++].getValue());\r
89         Assert.assertEquals("java.util.List#add",                   elements[index++].getValue());\r
90         Assert.assertEquals("java.lang.Object#getClass",            elements[index++].getValue());\r
91         Assert.assertEquals("java.lang.Class#getName",              elements[index++].getValue());\r
92         Assert.assertEquals("java.util.logging.Logger#getLogger",   elements[index++].getValue());\r
93         Assert.assertEquals("java.lang.StringBuilder#<init>",       elements[index++].getValue());\r
94         Assert.assertEquals("java.lang.StringBuilder#append",       elements[index++].getValue());\r
95         Assert.assertEquals("java.lang.StringBuilder#append",       elements[index++].getValue());\r
96         Assert.assertEquals("java.lang.StringBuilder#toString",     elements[index++].getValue());\r
97         Assert.assertEquals("java.util.logging.Logger#warning",     elements[index++].getValue());\r
98         Assert.assertEquals("java.util.List#size",                  elements[index++].getValue());\r
99         Assert.assertEquals("java.util.List#toArray",               elements[index++].getValue());\r
100         Assert.assertEquals("java.util.ArrayList#<init>",           elements[index++].getValue());\r
101         Assert.assertEquals("java.util.Iterator#hasNext",           elements[index++].getValue());\r
102         Assert.assertEquals("java.util.Iterator#next",              elements[index++].getValue());\r
103         Assert.assertEquals("java.lang.Double#valueOf",             elements[index++].getValue());\r
104         Assert.assertEquals("java.util.List#add",                   elements[index++].getValue());\r
105         Assert.assertEquals("java.util.List#iterator",              elements[index++].getValue());\r
106         Assert.assertEquals("java.util.Iterator#hasNext",           elements[index++].getValue());\r
107         Assert.assertEquals("java.util.Iterator#next",              elements[index++].getValue());\r
108         Assert.assertEquals("java.lang.Double#doubleValue",         elements[index++].getValue());\r
109         Assert.assertEquals("java.lang.Double#doubleValue",         elements[index++].getValue());\r
110         Assert.assertEquals("org.apache.commons.beanutils.BeanUtils#describe",\r
111                             elements[index++].getValue());\r
112         Assert.assertEquals("java.util.Map#remove",                 elements[index++].getValue());\r
113         Assert.assertEquals("java.util.Map#remove",                 elements[index++].getValue());\r
114         Assert.assertEquals("java.util.Map#keySet",                 elements[index++].getValue());\r
115         Assert.assertEquals("java.util.Set#iterator",               elements[index++].getValue());\r
116         Assert.assertEquals("java.util.Iterator#hasNext",           elements[index++].getValue());\r
117         Assert.assertEquals("java.util.Iterator#next",              elements[index++].getValue());\r
118         Assert.assertEquals("java.lang.StringBuilder#<init>",       elements[index++].getValue());\r
119         Assert.assertEquals("java.lang.StringBuilder#append",       elements[index++].getValue());\r
120         Assert.assertEquals("java.lang.StringBuilder#append",       elements[index++].getValue());\r
121         Assert.assertEquals("java.lang.StringBuilder#append",       elements[index++].getValue());\r
122         Assert.assertEquals("java.lang.String#valueOf",             elements[index++].getValue());\r
123         Assert.assertEquals("java.lang.StringBuilder#append",       elements[index++].getValue());\r
124         Assert.assertEquals("java.lang.StringBuilder#toString",     elements[index++].getValue());\r
125         Assert.assertEquals("org.apache.commons.beanutils.BeanUtils#setProperty",\r
126                             elements[index++].getValue());\r
127         Assert.assertEquals("java.io.ByteArrayInputStream#<init>",  elements[index++].getValue());\r
128         Assert.assertEquals("java.io.ByteArrayOutputStream#<init>", elements[index++].getValue());\r
129         Assert.assertEquals("java.io.InputStream#read",             elements[index++].getValue());\r
130         Assert.assertEquals("java.io.ByteArrayOutputStream#write",  elements[index++].getValue());\r
131         Assert.assertEquals("java.io.ByteArrayOutputStream#toByteArray",\r
132                             elements[index++].getValue());\r
133         Assert.assertEquals("java.io.ByteArrayOutputStream#close",  elements[index++].getValue());\r
134         Assert.assertEquals("javax.imageio.spi.ServiceRegistry#lookupProviders",\r
135                             elements[index++].getValue());\r
136         Assert.assertEquals("java.util.Iterator#hasNext",           elements[index++].getValue());\r
137         Assert.assertEquals("java.util.Iterator#next",              elements[index++].getValue());\r
138         */\r
139     }\r
140 \r
141     @Test\r
142     public void checkSmcBirthmark2() throws Exception{\r
143         ExtractionResultSet ers = stigmata.createEngine().extract(\r
144             new String[] { "target/classes/jp/naist/se/stigmata/result/RoundRobinComparisonResultSet.class", },\r
145             context\r
146         );\r
147         BirthmarkSet[] array = ers.getBirthmarkSets();\r
148 \r
149         Assert.assertEquals(array.length, 1);\r
150         Assert.assertNotNull(array[0].getBirthmark("smc"));\r
151 \r
152         Birthmark birthmark = array[0].getBirthmark("smc");\r
153         Assert.assertEquals("smc", birthmark.getType());\r
154         Assert.assertEquals(18, birthmark.getElementCount());\r
155 \r
156         BirthmarkElement[] elements = birthmark.getElements();\r
157         for(int i = 0; i < elements.length; i++){\r
158             Assert.assertEquals(\r
159                 "jp.naist.se.stigmata.birthmarks.smc.MethodCallBirthmarkElement",\r
160                 elements[i].getClass().getName()\r
161             );\r
162         }\r
163         /*\r
164         int index = 0;\r
165         // <init>(ExtractionResult, BirthmarkEnvironment, boolean)\r
166         Assert.assertEquals("java.lang.Object#<init>",      elements[index++].toString());\r
167 \r
168         // getComparisonSources\r
169         Assert.assertEquals("java.util.ArrayArrays#<init>", elements[index++].toString());\r
170         Assert.assertEquals("java.util.Arrays#asList",      elements[index++].toString());\r
171 \r
172         // setCompareSamePair\r
173         Assert.assertEquals("java.util.List#size",          elements[index++].toString());\r
174         Assert.assertEquals("java.util.List#size",          elements[index++].toString());\r
175         Assert.assertEquals("java.util.List#size",          elements[index++].toString());\r
176         Assert.assertEquals("java.util.List#size",          elements[index++].toString());\r
177 \r
178         // getComparisonSources\r
179         Assert.assertEquals("java.util.HashMap#<init>",     elements[index++].toString());\r
180         Assert.assertEquals("java.util.List#iterator",      elements[index++].toString());\r
181         Assert.assertEquals("java.util.Iterator#hasNext",   elements[index++].toString());\r
182         Assert.assertEquals("java.util.Iterator#next",      elements[index++].toString());\r
183         Assert.assertEquals("java.util.Map#put",            elements[index++].toString());\r
184         Assert.assertEquals("java.util.List#iterator",      elements[index++].toString());\r
185         Assert.assertEquals("java.util.Iterator#hasNext",   elements[index++].toString());\r
186         Assert.assertEquals("java.util.Iterator#next",      elements[index++].toString());\r
187         Assert.assertEquals("java.util.Map#put",            elements[index++].toString());\r
188         Assert.assertEquals("java.util.Map#size",           elements[index++].toString());\r
189         Assert.assertEquals("java.util.Map#entrySet",       elements[index++].toString());\r
190         Assert.assertEquals("java.util.Set#iterator",       elements[index++].toString());\r
191         Assert.assertEquals("java.util.Iterator#hasNext",   elements[index++].toString());\r
192         Assert.assertEquals("java.util.Iterator#next",      elements[index++].toString());\r
193         Assert.assertEquals("java.util.Map$Entry#getValue", elements[index++].toString());\r
194         */\r
195     }\r
196 }\r