OSDN Git Service

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