1 package jp.naist.se.stigmata.birthmarks.smc;
\r
7 import org.junit.Assert;
\r
8 import org.junit.Before;
\r
9 import org.junit.Test;
\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
18 * @author Haruaki TAMADA
\r
19 * @version$Revision$ $Date$
\r
21 public class SmcBirthmarkExtractorTest{
\r
22 private Stigmata stigmata;
\r
25 public void setup(){
\r
26 stigmata = Stigmata.getInstance();
\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
36 Assert.assertEquals(1, array.length);
\r
37 Assert.assertNotNull(array[0].getBirthmark("smc"));
\r
39 Birthmark birthmark = array[0].getBirthmark("smc");
\r
40 Assert.assertEquals("smc", birthmark.getType());
\r
41 Assert.assertEquals(76, birthmark.getElementCount());
\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
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
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
140 Assert.assertEquals(array.length, 1);
\r
141 Assert.assertNotNull(array[0].getBirthmark("smc"));
\r
143 Birthmark birthmark = array[0].getBirthmark("smc");
\r
144 Assert.assertEquals("smc", birthmark.getType());
\r
145 Assert.assertEquals(10, birthmark.getElementCount());
\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
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