OSDN Git Service

456c61d1474b009e68d8458b4e5e7764e3ab8ca4
[stigmata/stigmata.git] / src / test / java / jp / sourceforge / stigmata / StigmataTest.java
1 package jp.sourceforge.stigmata;
2
3 /*
4  * $Id$
5  */
6
7 import jp.sourceforge.stigmata.spi.BirthmarkSpi;
8
9 import org.junit.Assert;
10 import org.junit.Before;
11 import org.junit.Test;
12
13 /**
14  * test case.
15  * @author Haruaki TAMADA
16  * @version $Revision$ 
17  */
18 public class StigmataTest{
19     private BirthmarkContext context;
20     private BirthmarkEnvironment environment;
21
22     @Before
23     public void prepare(){
24         Stigmata stigmata = Stigmata.getInstance();
25         context = stigmata.createContext();
26         environment = context.getEnvironment();
27     }
28
29     @Test
30     public void checkAvailableServices() throws Exception{
31         Assert.assertNotNull(environment.getService("smc"));
32         Assert.assertNotNull(environment.getService("cvfv"));
33         Assert.assertNotNull(environment.getService("is"));
34         Assert.assertNotNull(environment.getService("uc"));
35         Assert.assertNotNull(environment.getService("kgram"));
36     }
37
38     @Test
39     public void checkSmcBirthmarkService() throws Exception{
40         BirthmarkSpi service = environment.getService("smc");
41
42         Assert.assertNotNull(service.getComparator());
43         Assert.assertNotNull(service.getExtractor());
44         Assert.assertEquals(
45             "jp.sourceforge.stigmata.birthmarks.comparators.PlainBirthmarkComparator",
46             service.getComparator().getClass().getName()
47         );
48         Assert.assertEquals(
49             "jp.sourceforge.stigmata.birthmarks.smc.SequentialMethodCallBirthmarkExtractor",
50             service.getExtractor().getClass().getName()
51         );
52     }
53
54     @Test
55     public void checkCvfvBirthmarkService() throws Exception{
56         BirthmarkSpi service = environment.getService("cvfv");
57
58         Assert.assertNotNull(service.getComparator());
59         Assert.assertNotNull(service.getExtractor());
60         Assert.assertEquals(
61             "jp.sourceforge.stigmata.birthmarks.comparators.PlainBirthmarkComparator",
62             service.getComparator().getClass().getName()
63         );
64         Assert.assertEquals(
65             "jp.sourceforge.stigmata.birthmarks.cvfv.ConstantValueOfFieldVariableBirthmarkExtractor",
66             service.getExtractor().getClass().getName()
67         );
68     }
69
70     @Test
71     public void checkIsBirthmarkService() throws Exception{
72         BirthmarkSpi service = environment.getService("is");
73
74         Assert.assertNotNull(service.getComparator());
75         Assert.assertNotNull(service.getExtractor());
76         Assert.assertEquals(
77             "jp.sourceforge.stigmata.birthmarks.comparators.PlainBirthmarkComparator",
78             service.getComparator().getClass().getName()
79         );
80         Assert.assertEquals(
81             "jp.sourceforge.stigmata.birthmarks.is.InheritanceStructureBirthmarkExtractor",
82             service.getExtractor().getClass().getName()
83         );
84     }
85
86     @Test
87     public void checkUcBirthmarkService() throws Exception{
88         BirthmarkSpi service = environment.getService("uc");
89
90         Assert.assertNotNull(service.getComparator());
91         Assert.assertNotNull(service.getExtractor());
92         Assert.assertEquals(
93             "jp.sourceforge.stigmata.birthmarks.comparators.LogicalAndBirthmarkComparator",
94             service.getComparator().getClass().getName()
95         );
96         Assert.assertEquals(
97             "jp.sourceforge.stigmata.birthmarks.uc.UsedClassesBirthmarkExtractor",
98             service.getExtractor().getClass().getName()
99         );
100     }
101
102     @Test
103     public void checkKgramBirthmarkService() throws Exception{
104         BirthmarkSpi service = environment.getService("kgram");
105
106         Assert.assertNotNull(service.getComparator());
107         Assert.assertNotNull(service.getExtractor());
108         Assert.assertEquals(
109             "jp.sourceforge.stigmata.birthmarks.comparators.LogicalAndBirthmarkComparator",
110             service.getComparator().getClass().getName()
111         );
112         Assert.assertEquals(
113             "jp.sourceforge.stigmata.birthmarks.kgram.KGramBasedBirthmarkExtractor",
114             service.getExtractor().getClass().getName()
115         );
116     }
117 }