OSDN Git Service

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