1 package jp.sourceforge.stigmata.birthmarks.kgram;
7 import org.junit.Assert;
8 import org.junit.Before;
13 * @author Haruaki Tamada
16 public class KGramTest{
17 private String[] plainValues;
18 private String[] complexValues;
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", };
27 public void checkPlainKGram(){
28 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 4);
29 Assert.assertEquals(4, kgrams.length);
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());
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());
43 public void checkPlainKGram2(){
44 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 3);
45 Assert.assertEquals(5, kgrams.length);
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());
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());
61 public void checkComplexKGram(){
62 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(complexValues, 3);
64 Assert.assertEquals(7, kgrams.length);
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());