📄 uniformboundarylmtest.java
字号:
package com.aliasi.test.unit.lm;import com.aliasi.lm.LanguageModel;import com.aliasi.lm.UniformBoundaryLM;import com.aliasi.test.unit.BaseTestCase;import java.io.ByteArrayOutputStream;import java.io.ByteArrayInputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.IOException;public class UniformBoundaryLMTest extends BaseTestCase { public void testBoundary() { UniformBoundaryLM lm = new UniformBoundaryLM(31); assertEquals(-5.0, lm.log2Estimate(new char[0],0,0), 0.005); lm.train("foo"); assertEquals(-5.0, lm.log2Estimate(new char[0],0,0), 0.005); assertEquals(-10.0, lm.log2Estimate(new char[] { 'a' },0,1), 0.005); assertEquals(-15.0, lm.log2Estimate(new char[] { 'a', 'b' },0,2), 0.005); } public static Object compileRead(LanguageModel.Dynamic model) throws ClassNotFoundException, IOException { ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); ObjectOutputStream objOut = new ObjectOutputStream(bytesOut); model.compileTo(objOut); byte[] modelBytes = bytesOut.toByteArray(); ByteArrayInputStream bytesIn = new ByteArrayInputStream(modelBytes); ObjectInputStream objIn = new ObjectInputStream(bytesIn); return objIn.readObject(); } public void testSerializable() throws ClassNotFoundException, IOException { UniformBoundaryLM lm = new UniformBoundaryLM(31); Object serDeser = compileRead(lm); UniformBoundaryLM lmIO = (UniformBoundaryLM) serDeser; assertEquals(-5.0, lmIO.log2Estimate(new char[0],0,0), 0.005); assertEquals(-10.0, lmIO.log2Estimate(new char[] { 'a' },0,1), 0.005); assertEquals(-15.0, lmIO.log2Estimate(new char[] { 'a', 'b' },0,2), 0.005); } public void testExs() { try { new UniformBoundaryLM(-1); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { new UniformBoundaryLM(Integer.MAX_VALUE); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { new UniformBoundaryLM(-1); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { new UniformBoundaryLM(Integer.MAX_VALUE); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -