📄 chunktest.java
字号:
/**
*
*/
package org.solol.mmseg.test;
import org.solol.mmseg.core.IChunk;
import org.solol.mmseg.core.IWord;
import org.solol.mmseg.internal.Chunk;
import org.solol.mmseg.internal.Word;
import junit.framework.TestCase;
/**
* @author solo L
*
*/
public class ChunkTest extends TestCase {
/*
* (non-Javadoc)
*
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
}
/*
* (non-Javadoc)
*
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
}
/**
* Test method for
* {@link org.solol.mmseg.internal.Chunk#Chunk(org.solol.mmseg.core.IWord[])}.
*/
public final void testChunk() {
}
/**
* Test method for
* {@link org.solol.mmseg.internal.Chunk#getAverageLength()}.
*/
public final void testGetAverageLength() {
IWord word1 = new Word("国际化",Word.CJK_WORD);
IWord word2 = new Word("国际",Word.CJK_WORD);
IWord word3 = new Word("国",Word.CJK_WORD);
IWord word4 = new Word("际",Word.CJK_WORD);
IWord word5 = new Word("化",Word.CJK_WORD);
IChunk chunk1 = new Chunk(new IWord[] { word1 });
IChunk chunk2 = new Chunk(new IWord[] { word2, word5 });
IChunk chunk3 = new Chunk(new IWord[] { word3, word4, word5 });
assertTrue(3D == chunk1.getAverageLength());
assertTrue(1.5D == chunk2.getAverageLength());
assertTrue(1D == chunk3.getAverageLength());
}
/**
* Test method for
* {@link org.solol.mmseg.internal.Chunk#getVariance()}.
*/
public final void testGetVariance() {
IWord word1 = new Word("研究",Word.CJK_WORD);
IWord word2 = new Word("生命",Word.CJK_WORD);
IWord word3 = new Word("起源",Word.CJK_WORD);
IWord word4 = new Word("研究生",Word.CJK_WORD);
IWord word5 = new Word("命",Word.CJK_WORD);
IChunk chunk1 = new Chunk(new IWord[] { word1, word2, word3 });
IChunk chunk2 = new Chunk(new IWord[] { word4, word5, word3 });
assertTrue(0D == chunk1.getVariance());
assertTrue(Math.sqrt(2D/3) == chunk2.getVariance());
}
/**
* Test method for {@link org.solol.mmseg.internal.Chunk#getLength()}.
*/
public final void testGetLength() {
IWord word1 = new Word("国际化",Word.CJK_WORD);
IWord word2 = new Word("国际",Word.CJK_WORD);
IWord word3 = new Word("国",Word.CJK_WORD);
IWord word4 = new Word("际",Word.CJK_WORD);
IWord word5 = new Word("化",Word.CJK_WORD);
IChunk chunk1 = new Chunk(new IWord[] { word1 });
IChunk chunk2 = new Chunk(new IWord[] { word2, word5 });
IChunk chunk3 = new Chunk(new IWord[] { word3, word4, word5 });
assertEquals(3, chunk1.getLength());
assertEquals(3, chunk2.getLength());
assertEquals(3, chunk3.getLength());
}
/**
* Test method for
* {@link org.solol.mmseg.internal.Chunk#getSumOfDegreeOfMorphemicFreedom()}.
*/
public final void testGetDegreeOfMorphemicFreedom() {
IWord word1 = new Word("主要",Word.CJK_WORD);
IWord word2 = new Word("是", 3200626,Word.CJK_WORD);
IWord word3 = new Word("因为",Word.CJK_WORD);
IWord word4 = new Word("主", 224073,Word.CJK_WORD);
IWord word5 = new Word("要是",Word.CJK_WORD);
IChunk chunk1 = new Chunk(new IWord[] { word1, word2, word3 });
IChunk chunk2 = new Chunk(new IWord[] { word4, word5, word3 });
assertTrue(Math.log((double) 3200626) == chunk1
.getDegreeOfMorphemicFreedom());
assertTrue(Math.log((double) 224073) == chunk2
.getDegreeOfMorphemicFreedom());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -