⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formatprivatetest.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
字号:
package net.sf.fmj.test.compat.formats;import java.awt.Dimension;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import javax.media.Format;import javax.media.format.AudioFormat;import javax.media.format.RGBFormat;import javax.media.format.YUVFormat;import junit.framework.TestCase;/** *  * @author Ken Larson * */public class FormatPrivateTest extends TestCase{	public void testFormat() throws Exception	{		final Format value = new Format("abc");				assertEquals(getEncodingCode(value), 0L);				assertTrue(value.isSameEncoding(value));		assertEquals(getEncodingCode(value), 0L);				assertTrue(value.isSameEncoding(new Format("abc")));		assertEquals(value.getEncoding(), "abc");		assertEquals(getEncodingCode(value), 0L);		assertEquals(value.matches(new Format("abc")), true);		assertEquals(getEncodingCode(value), 0L);					//System.out.println(getEncodingCode(value, "abc"));		assertEquals(getEncodingCode(value, ""), 0L);		assertEquals(getEncodingCode(value, "a"), 33L);		assertEquals(getEncodingCode(value, "b"), 34L);		for (int i = 'a'; i <= 'z'; ++i)		{			String test = "!z" + (char) i;			testEncodingCode(test);		}		for (int i = 'A'; i <= 'Z'; ++i)		{			String test = "!z" + (char) i;			testEncodingCode(test);		}				testEncodingCode("abc");		testEncodingCode("foo.bar");		testEncodingCode("foo/bar");		testEncodingCode("foo_bar");		//gen();				// clz:				testClz(new RGBFormat());		testClz(new RGBFormat(new Dimension(1, 2), 1000, byte[].class, 1.f, 8, 0xff, 0x00ff, 0x0000ff));				for (int i = 0; i < SerializableTest.formats.length; ++i)		{			final Format f = SerializableTest.formats[i];					testClz(f);		}			}		public void testClz(Format f) throws Exception	{		assertEquals(getClz(f), f.getClass());	}			public void testEncodingCode(String s) throws Exception	{		final Format value = new Format("abc");		if (getEncodingCode(value, s) != stringEncodingCodeVal(s))		{	System.out.println(s + ": " + getEncodingCode(value, s) + "!=" + stringEncodingCodeVal(s));			assertTrue(false);		}			}		void gen() throws Exception	{		final Format value = new Format("abc");				for (int i = 0; i <= 255; ++i)		{			System.out.println("m.put((char) " + i + ", " + getEncodingCode(value, "" + (char) i) + ");");		}	}		// utilities for Format.getEncodingCode	private long stringEncodingCodeVal(String s)	{		long result = 0;		for (int i = 0; i < s.length(); ++i)		{			final char c = s.charAt(i);			result *= 64;			result += charEncodingCodeVal(c);					}		return result;	}			private int charEncodingCodeVal(char c)	{				if (c <= (char) 95)			return c - 32;		if (c == 96)			return -1;		if (c <= 122)			return c - 64;		if (c <= 127)			return -1;		if (c <= 191)			return -94;		if (c <= 255)			return -93;				return -1;			}			public void testYUVFormat_ENCODING() throws Exception	{		assertEquals(new YUVFormat().getEncoding(), "yuv");						final Field f = YUVFormat.class.getDeclaredField("ENCODING");		f.setAccessible(true);				assertEquals((String) f.get(null), "yuv");			}		public void testAudioFormat() throws Exception	{		AudioFormat format = new AudioFormat("abc");				{			final Field f = AudioFormat.class.getDeclaredField("multiplier");			f.setAccessible(true);			assertEquals((Double) f.get(format), new Double(-1.0));		}				{			final Field f = AudioFormat.class.getDeclaredField("margin");			f.setAccessible(true);			assertEquals(((Integer) f.get(format)).intValue(), 0);		}		{			final Field f = AudioFormat.class.getDeclaredField("init");			f.setAccessible(true);			assertEquals(((Boolean) f.get(format)).booleanValue(), false);		}	}						public static long getEncodingCode(Format value, String s) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException	{		final Method m = Format.class.getDeclaredMethod("getEncodingCode", new Class[]{String.class});		m.setAccessible(true);		final Long result = (Long) m.invoke(value, new Object[] {s});		return result.longValue();	}		public static long getEncodingCode(Format value) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException	{		final Field f = Format.class.getDeclaredField("encodingCode");		f.setAccessible(true);				return ((Long) f.get(value)).longValue();	}			private static Class getClz(Format value) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException	{		final Field f = Format.class.getDeclaredField("clz");		f.setAccessible(true);				return (Class) f.get(value);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -