Package net.sf.fmj.test.compat.misc

Source Code of net.sf.fmj.test.compat.misc.CaptureDeviceManagerTest

package net.sf.fmj.test.compat.misc;

import java.io.IOException;
import java.util.Vector;

import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Format;
import javax.media.format.RGBFormat;

import junit.framework.TestCase;

/**
*
* @author Ken Larson
*
*/
public class CaptureDeviceManagerTest extends TestCase
{

  public void testCaptureDeviceManager()
  {
    final Vector vTest = new Vector();

    assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(null));
   
    final Format[] f1s = new Format[]{new RGBFormat()};
    assertNotEquals(new CaptureDeviceInfo("abc", null, new Format[]{}),
        new CaptureDeviceInfo("abc", null, new Format[]{}));
    assertNotEquals(new CaptureDeviceInfo("abc", null, f1s),
        new CaptureDeviceInfo("abc", null, f1s))// strange
   
    CaptureDeviceInfo i1 = new CaptureDeviceInfo("abc", null, f1s);
    assertNotEquals(i1, i1)// strange
   
   
   
    CaptureDeviceManager.addDevice(i1);
    vTest.add(i1);

    assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(null));
    assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(new RGBFormat()));

   
    CaptureDeviceManager.removeDevice(i1);
    vTest.remove(i1);
   
    assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(null));

   
    try
    {
      CaptureDeviceManager.commit();
    } catch (IOException e)
    {
      e.printStackTrace()// strange, doesn't throw this ever.  Just prints to standard output.
      assertTrue(false);
    }
   

  }
  private void assertNotEquals(Object a, Object b)
  {  if (a == null && b == null)
      assertFalse(true);
    else if (a == null || b == null)
      return;
     
    assertFalse(a.equals(b));
  }
 
  private void dumpCaptureDeviceManager()
  {
    final Vector v = CaptureDeviceManager.getDeviceList(null);
    for (int i = 0; i < v.size(); ++i)
    {
      final Object o = v.get(i);
      final CaptureDeviceInfo captureDeviceInfo = (CaptureDeviceInfo) o;
      System.out.println("captureDeviceInfo: " + captureDeviceInfo.getName());
    }
  }
  private void assertCaptureDeviceInfoVectorEquals(Vector v1, Vector v2)
  {
    assertEquals(v1 == null, v2 == null);
    if (v1 == null)
      return;
   
    assertEquals(v1.size(), v2.size());
    for (int j = 0; j < v1.size(); ++j)
    {
      final CaptureDeviceInfo s1 = (CaptureDeviceInfo) v1.get(j);
      final CaptureDeviceInfo s2 = (CaptureDeviceInfo) v2.get(j);
      assertTrue(s1 == s2);
      //assertEquals(s1, s2);
    }
  }
}
TOP

Related Classes of net.sf.fmj.test.compat.misc.CaptureDeviceManagerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.