1 package jp.sourceforge.stigmata.birthmarks.kgram;
3 import org.junit.Assert;
4 import org.junit.Before;
9 * @author Haruaki Tamada
11 public class KGramTest{
12 private String[] plainValues;
13 private String[] complexValues;
16 public void buildKGrams(){
17 plainValues = new String[] { "a", "b", "c", "d", "e", "f", "g", };
18 complexValues = new String[] { "a", "b", "r", "a", "c", "a", "d", "a", "b", "r", "a", };
22 public void testStringRepresentation(){
23 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 4);
24 Assert.assertEquals("a b c d", kgrams[0].toString());
25 Assert.assertEquals("b c d e", kgrams[1].toString());
26 Assert.assertEquals("c d e f", kgrams[2].toString());
27 Assert.assertEquals("d e f g", kgrams[3].toString());
31 public void checkPlainKGram(){
32 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 4);
33 Assert.assertEquals(4, kgrams.length);
35 Assert.assertEquals(4, kgrams[0].getKValue());
36 Assert.assertEquals(4, kgrams[1].getKValue());
37 Assert.assertEquals(4, kgrams[2].getKValue());
38 Assert.assertEquals(4, kgrams[3].getKValue());
40 Assert.assertArrayEquals(new String[] { "a", "b", "c", "d", }, kgrams[0].toArray());
41 Assert.assertArrayEquals(new String[] { "b", "c", "d", "e", }, kgrams[1].toArray());
42 Assert.assertArrayEquals(new String[] { "c", "d", "e", "f", }, kgrams[2].toArray());
43 Assert.assertArrayEquals(new String[] { "d", "e", "f", "g", }, kgrams[3].toArray());
47 public void checkPlainKGram2(){
48 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(plainValues, 3);
49 Assert.assertEquals(5, kgrams.length);
51 Assert.assertEquals(3, kgrams[0].getKValue());
52 Assert.assertEquals(3, kgrams[1].getKValue());
53 Assert.assertEquals(3, kgrams[2].getKValue());
54 Assert.assertEquals(3, kgrams[3].getKValue());
55 Assert.assertEquals(3, kgrams[4].getKValue());
57 Assert.assertArrayEquals(new String[] { "a", "b", "c", }, kgrams[0].toArray());
58 Assert.assertArrayEquals(new String[] { "b", "c", "d", }, kgrams[1].toArray());
59 Assert.assertArrayEquals(new String[] { "c", "d", "e", }, kgrams[2].toArray());
60 Assert.assertArrayEquals(new String[] { "d", "e", "f", }, kgrams[3].toArray());
61 Assert.assertArrayEquals(new String[] { "e", "f", "g", }, kgrams[4].toArray());
65 public void checkComplexKGram(){
66 KGram<String>[] kgrams = KGramBuilder.getInstance().buildKGram(complexValues, 3);
68 Assert.assertEquals(7, kgrams.length);
70 Assert.assertArrayEquals(new String[] { "a", "b", "r", }, kgrams[0].toArray());
71 Assert.assertArrayEquals(new String[] { "b", "r", "a", }, kgrams[1].toArray());
72 Assert.assertArrayEquals(new String[] { "r", "a", "c", }, kgrams[2].toArray());
73 Assert.assertArrayEquals(new String[] { "a", "c", "a", }, kgrams[3].toArray());
74 Assert.assertArrayEquals(new String[] { "c", "a", "d", }, kgrams[4].toArray());
75 Assert.assertArrayEquals(new String[] { "a", "d", "a", }, kgrams[5].toArray());
76 Assert.assertArrayEquals(new String[] { "d", "a", "b", }, kgrams[6].toArray());
77 // following kgram is appeared in above.
78 // assertEquals(new String[] { "a", "b", "r", }, kgrams[0].toArray());
79 // assertEquals(new String[] { "b", "r", "a", }, kgrams[1].toArray());