OSDN Git Service

13526a63cd9e8db66ed8f626337fcfea32acdc64
[stigmata/stigmata.git] / src / test / java / jp / sourceforge / stigmata / birthmarks / kgram / KGramTest.java
1 package jp.sourceforge.stigmata.birthmarks.kgram;
2
3 /*
4  * $Id$
5  */
6
7 import org.junit.Assert;
8 import org.junit.Before;
9 import org.junit.Test;
10
11 /**
12  * 
13  * @author Haruaki Tamada
14  * @version $Revision$ 
15  */
16 public class KGramTest{
17     private String[] plainValues;
18     private String[] complexValues;
19
20     @Before
21     public void buildKGrams(){
22         plainValues = new String[] { "a", "b", "c", "d", "e", "f", "g", };
23         complexValues = new String[] { "a", "b", "r", "a", "c", "a", "d", "a", "b", "r", "a", };
24     }
25
26     @Test
27     public void checkPlainKGram(){
28         KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 4);
29         Assert.assertEquals(4, kgrams.length);
30
31         Assert.assertEquals(4, kgrams[0].getKValue());
32         Assert.assertEquals(4, kgrams[1].getKValue());
33         Assert.assertEquals(4, kgrams[2].getKValue());
34         Assert.assertEquals(4, kgrams[3].getKValue());
35
36         Assert.assertArrayEquals(new String[] { "a", "b", "c", "d", }, kgrams[0].toArray());
37         Assert.assertArrayEquals(new String[] { "b", "c", "d", "e", }, kgrams[1].toArray());
38         Assert.assertArrayEquals(new String[] { "c", "d", "e", "f", }, kgrams[2].toArray());
39         Assert.assertArrayEquals(new String[] { "d", "e", "f", "g", }, kgrams[3].toArray());
40     }
41
42     @Test
43     public void checkPlainKGram2(){
44         KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 3);
45         Assert.assertEquals(5, kgrams.length);
46
47         Assert.assertEquals(3, kgrams[0].getKValue());
48         Assert.assertEquals(3, kgrams[1].getKValue());
49         Assert.assertEquals(3, kgrams[2].getKValue());
50         Assert.assertEquals(3, kgrams[3].getKValue());
51         Assert.assertEquals(3, kgrams[4].getKValue());
52
53         Assert.assertArrayEquals(new String[] { "a", "b", "c", }, kgrams[0].toArray());
54         Assert.assertArrayEquals(new String[] { "b", "c", "d", }, kgrams[1].toArray());
55         Assert.assertArrayEquals(new String[] { "c", "d", "e", }, kgrams[2].toArray());
56         Assert.assertArrayEquals(new String[] { "d", "e", "f", }, kgrams[3].toArray());
57         Assert.assertArrayEquals(new String[] { "e", "f", "g", }, kgrams[4].toArray());
58     }
59
60     @Test
61     public void checkComplexKGram(){
62         KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(complexValues, 3);
63
64         Assert.assertEquals(7, kgrams.length);
65
66         Assert.assertArrayEquals(new String[] { "a", "b", "r", }, kgrams[0].toArray());
67         Assert.assertArrayEquals(new String[] { "b", "r", "a", }, kgrams[1].toArray());
68         Assert.assertArrayEquals(new String[] { "r", "a", "c", }, kgrams[2].toArray());
69         Assert.assertArrayEquals(new String[] { "a", "c", "a", }, kgrams[3].toArray());
70         Assert.assertArrayEquals(new String[] { "c", "a", "d", }, kgrams[4].toArray());
71         Assert.assertArrayEquals(new String[] { "a", "d", "a", }, kgrams[5].toArray());
72         Assert.assertArrayEquals(new String[] { "d", "a", "b", }, kgrams[6].toArray());
73         // following kgram is appeared in above.
74         // assertEquals(new String[] { "a", "b", "r", }, kgrams[0].toArray());
75         // assertEquals(new String[] { "b", "r", "a", }, kgrams[1].toArray());
76     }
77 }