OSDN Git Service

Spiという名前をすべてServiceに変更した.
[stigmata/stigmata.git] / src / test / java / jp / sourceforge / stigmata / birthmarks / cvfv / CVFVBirthmarkExtractorTest.java
1 package jp.sourceforge.stigmata.birthmarks.cvfv;
2
3 import java.io.FileInputStream;
4
5 import jp.sourceforge.stigmata.Birthmark;
6 import jp.sourceforge.stigmata.BirthmarkElement;
7 import jp.sourceforge.stigmata.BirthmarkEnvironment;
8 import jp.sourceforge.stigmata.BirthmarkExtractor;
9 import jp.sourceforge.stigmata.utils.WellknownClassJudgeRule;
10 import jp.sourceforge.stigmata.utils.WellknownClassJudgeRule.MatchPartType;
11 import jp.sourceforge.stigmata.utils.WellknownClassJudgeRule.MatchType;
12 import jp.sourceforge.stigmata.utils.WellknownClassManager;
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 CVFVBirthmarkExtractorTest{
23     private BirthmarkExtractor extractor; 
24
25     @Before
26     public void setup(){
27         extractor = new ConstantValueOfFieldVariableBirthmarkService().getExtractor();
28         BirthmarkEnvironment env = BirthmarkEnvironment.getDefaultEnvironment();
29         WellknownClassManager manager = env.getWellknownClassManager();
30         manager.add(new WellknownClassJudgeRule("java.", MatchType.PREFIX, MatchPartType.FULLY_NAME));
31         manager.add(new WellknownClassJudgeRule("javax.", MatchType.PREFIX, MatchPartType.FULLY_NAME));
32     }
33
34
35     @Test
36     public void checkBirthmark() throws Exception{
37         Birthmark birthmark = extractor.extract(new FileInputStream("target/test-classes/resources/HelloWorldFrame.class"));
38         Assert.assertEquals("cvfv", birthmark.getType());
39
40         BirthmarkElement[] elements = birthmark.getElements();
41         Assert.assertEquals(2, elements.length);
42
43         Assert.assertTrue(elements[0] instanceof TypeAndValueBirthmarkElement);
44         Assert.assertTrue(elements[1] instanceof TypeAndValueBirthmarkElement);
45
46         Assert.assertEquals("Ljava/lang/String;", ((TypeAndValueBirthmarkElement)elements[0]).getSignature());
47         Assert.assertEquals("Ljava/lang/String;", ((TypeAndValueBirthmarkElement)elements[1]).getSignature());
48
49         Assert.assertEquals("Hello World", elements[0].getValue());
50         Assert.assertEquals("Lucida Regular", elements[1].getValue());
51     }
52 }