📄 basiccodectest.java
字号:
"setFormat(abc)\n" + "setLength(10)\n" + "setOffset(20)\n" + "getLength\n" + "getOffset\n" + "getFormat\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer() { //@Override public int getLength() { super.getLength(); return 1; } }; final TracingFormat f = new TracingFormat("abc"); assertEquals(f.getStringBuffer().toString(), ""); c.doUpdateOutput(b, f, 10, 20); assertEquals(f.getStringBuffer().toString(), "getEncoding\n"); assertEquals(b.getLength(), 1); assertEquals(b.getOffset(), 20); assertTrue(b.getFormat() == f); //System.out.println(b.getStringBuffer().toString()); assertEquals(b.getStringBuffer().toString(), "setFormat(abc)\n" + "setLength(10)\n" + "setOffset(20)\n" + "getLength\n" + "getOffset\n" + "getFormat\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final TracingFormat f = new TracingFormat(null); c.doUpdateOutput(b, f, 10, 20); assertEquals(f.getStringBuffer().toString(), "getEncoding\n"); assertEquals(b.getLength(), 10); assertEquals(b.getOffset(), 20); assertTrue(b.getFormat() == f); //System.out.println(b.getStringBuffer().toString()); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\n" + "setLength(10)\n" + "setOffset(20)\n" + "getLength\n" + "getOffset\n" + "getFormat\n"); assertEquals(f.getStringBuffer().toString(), "getEncoding\n"); f.toString(); assertEquals(f.getStringBuffer().toString(), "getEncoding\ngetEncoding\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final Format f = null; c.doUpdateOutput(b, f, 0, 0); assertEquals(b.getLength(), 0); assertEquals(b.getOffset(), 0); assertTrue(b.getFormat() == f); //System.out.println(b.getStringBuffer().toString()); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\n" + "setLength(0)\n" + "setOffset(0)\n" + "getLength\n" + "getOffset\n" + "getFormat\n"); } } public void testCheckInputBuffer() { { final MyBasicCodec c = new MyBasicCodec(); final Buffer b = new Buffer(); assertEquals(c.doCheckInputBuffer(b), false); } { final StringBuffer sb = new StringBuffer(); final MyBasicCodec c = new MyBasicCodec(){ //@Override protected boolean checkFormat(Format arg0) { sb.append("checkFormat"); return super.checkFormat(arg0); } }; final Buffer b = new Buffer(); final Format f = new Format("abc"); b.setFormat(f); assertEquals(c.doCheckInputBuffer(b), true); assertEquals(sb.toString(), "checkFormat"); // checkInputBuffer calls checkFormat assertEquals(c.doCheckFormat(null), true); assertEquals(c.doCheckInputBuffer(new Buffer()), false); } { final MyBasicCodec c = new MyBasicCodec(); final Buffer b = new Buffer(); final Format f = new YUVFormat(); b.setFormat(f); c.setInputFormat(new RGBFormat()); assertEquals(c.doCheckInputBuffer(b), true); } { final MyBasicCodec c = new MyBasicCodec(); final Buffer b = new Buffer(); final Format f = new Format(null); b.setFormat(f); b.setLength(-1); b.setOffset(-1); b.setEOM(true); b.setDuration(-1L); c.setInputFormat(new RGBFormat()); assertEquals(c.doCheckInputBuffer(b), true); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final Format f = new Format(null); b.setFormat(f); b.setEOM(true); assertEquals(c.doCheckFormat(f), true); //System.out.println(b.getStringBuffer().toString()); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\nsetEOM\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final Format f = new Format(null); b.setFormat(f); b.setEOM(true); assertEquals(c.doCheckInputBuffer(b), true); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\nsetEOM\nisEOM\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final Format f = null; b.setFormat(f); b.setEOM(true); assertEquals(c.doCheckInputBuffer(b), true); //System.out.println(b.getStringBuffer().toString()); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\nsetEOM\nisEOM\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final Format f = new Format(null); b.setFormat(f); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\n"); assertEquals(c.doCheckInputBuffer(b), true); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\nisEOM\ngetFormat\ngetFormat\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final TracingFormat f = new TracingFormat(null); b.setFormat(f); assertEquals(c.doCheckInputBuffer(b), true); assertEquals(b.getStringBuffer().toString(), "setFormat(null)\nisEOM\ngetFormat\ngetFormat\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); final Format f = new Format("xyz"); b.setFormat(f); assertEquals(c.doCheckInputBuffer(b), true); assertEquals(b.getStringBuffer().toString(), "setFormat(xyz)\nisEOM\ngetFormat\ngetFormat\n"); } { final MyBasicCodec c = new MyBasicCodec(); final TracingBuffer b = new TracingBuffer(); b.setEOM(true); final Format f = new Format("xyz"); b.setFormat(f); assertEquals(c.doCheckInputBuffer(b), true); //System.out.println(b.getStringBuffer().toString()); assertEquals(b.getStringBuffer().toString(), "setEOM\nsetFormat(xyz)\nisEOM\n"); } } class MyBasicCodec extends BasicCodec { //@Override public Format[] getSupportedOutputFormats(Format arg0) { throw new RuntimeException(); } //@Override public int process(Buffer arg0, Buffer arg1) { throw new RuntimeException(); } //@Override public String getName() { return null; } public Format doGetInputFormat() { return getInputFormat(); } public Format doGetOutputFormat() { return getOutputFormat(); } public int doGetArrayElementSize(Class type) { return getArrayElementSize(type); } public boolean isOpened() { return opened; } public Format[] getOutputFormats() { return outputFormats; } public void setOutputFormats(Format[] value) { outputFormats = value; } public void setInputFormats(Format[] value) { inputFormats = value; } public boolean getPendingEOM() { return pendingEOM; } public void setPendingEOM(boolean value) { pendingEOM = value; } public boolean doCheckFormat(Format f) { return checkFormat(f); } public boolean doIsEOM(Buffer inputBuffer) { return isEOM(inputBuffer); } public void doPropagateEOM(Buffer b) { propagateEOM(b); } public void doUpdateOutput(Buffer outputBuffer, Format format, int length, int offset) { updateOutput(outputBuffer, format, length, offset); } public boolean doCheckInputBuffer(Buffer inputBuffer) { return checkInputBuffer(inputBuffer); } public String dumpToString() { final StringBuffer b = new StringBuffer(); b.append("inputFormat=" + inputFormat + "\n"); b.append("outputFormat=" + outputFormat + "\n"); b.append("opened=" + opened + "\n"); b.append("inputFormats="+inputFormats + "\n"); if (inputFormats != null) { for (int i = 0; i < inputFormats.length; ++i) b.append("\t" + inputFormats[i]); } b.append("outputFormats=" + outputFormats + "\n"); if (outputFormats != null) { for (int i = 0; i < outputFormats.length; ++i) b.append("\t" + outputFormats[i]); } b.append("pendingEOM=" + pendingEOM + "\n"); return b.toString(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -