Package net.sf.fmj.test.compat.formats

Source Code of net.sf.fmj.test.compat.formats.FormatCrossFormatTest

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

import javax.media.Format;
import javax.media.format.RGBFormat;
import javax.media.format.VideoFormat;

import junit.framework.TestCase;
import net.sf.fmj.codegen.CGUtils;
import net.sf.fmj.codegen.MediaCGUtils;

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

  public void testFormats() throws Exception
  {
   
    assertFalse(new Format(null).isSameEncoding(new Format(null)));
    assertFalse(new Format(null).isSameEncoding((String) null));
    assertFalse(new Format(null).isSameEncoding((Format) null));
   
   
    int count = 0;
    for (int i = 0; i < SerializableTest.formats.length; ++i)
    {
      Format f1 = SerializableTest.formats[i];
//      {
//        checkEncodingCode(f1);
//       
//      }
      assertEquals(f1, f1);
      assertTrue(f1.matches(f1));

      if (f1.getEncoding() != null)
      {
//        if (!f1.isSameEncoding(f1))
//          System.out.println(f1);
        assertTrue(f1.isSameEncoding(f1));
        assertTrue(f1.isSameEncoding(f1.getEncoding()));
      }
      else
      {
        if (f1.isSameEncoding(f1))
          System.out.println(f1);
        assertFalse(f1.isSameEncoding(f1));
        assertFalse(f1.isSameEncoding(f1.getEncoding()));
      }
      assertEquals(f1, f1.clone());
      assertFalse(f1.clone() == f1);
     
      if (f1 instanceof VideoFormat)
      {  final VideoFormat vf1 = (VideoFormat) f1;
        if (vf1.getSize() != null)
          assertFalse(vf1.getSize() == ((VideoFormat) vf1.clone()).getSize());
       
        final VideoFormat fRelax = (VideoFormat) f1.relax();
        assertEquals(fRelax.getEncoding(), vf1.getEncoding());
        assertEquals(fRelax.getDataType(), vf1.getDataType());
        assertEquals(fRelax.getFrameRate(), -1.f);
        assertEquals(fRelax.getMaxDataLength(), -1);
        assertEquals(fRelax.getSize(), null);
                         
      }
     
      if (f1 instanceof RGBFormat)
      {  final RGBFormat vf1 = (RGBFormat) f1;
        if (vf1.getSize() != null)
          assertFalse(vf1.getSize() == ((RGBFormat) vf1.clone()).getSize());
       
        final RGBFormat fRelax = (RGBFormat) f1.relax();
        assertEquals(fRelax.getEncoding(), vf1.getEncoding());
        assertEquals(fRelax.getDataType(), vf1.getDataType());
        assertEquals(fRelax.getFrameRate(), -1.f);
        assertEquals(fRelax.getMaxDataLength(), -1);
        assertEquals(fRelax.getSize(), null);
        assertEquals(fRelax.getLineStride(), -1);
        assertEquals(fRelax.getPixelStride(), -1);
                         
      }
     
      if (f1.getClass() == Format.class)
      {
        final Format fRelax = f1.relax();
        assertEquals(f1, fRelax);
       
       
      }
     
 
     
      for (int j = 0; j < SerializableTest.formats.length; ++j)
      {
        final Format f2 = SerializableTest.formats[j];
           
        final Format f3 = f1.intersects(f2);
     
       
        assertFalse(f3 == f1);
        assertFalse(f3 == f2);
       
       
        if (f1.equals(f2))
        { 
          assertTrue(f2.equals(f1));
          assertEquals(f2.toString(), f1.toString());
         
        }
       
     

       
        if (f1.matches(f2))
        {  if (!f2.matches(f1))
          {  System.out.println(MediaCGUtils.formatToStr(f2));
            System.out.println(MediaCGUtils.formatToStr(f1));
          }
               
          assertTrue(f2.matches(f1));
        }
       

       
//        if (f1 instanceof VideoFormat && f2 instanceof VideoFormat)
//        {
//          final VideoFormat vf1 = (VideoFormat) f1;
//          final VideoFormat vf2 = (VideoFormat) f2;
//          final VideoFormat vf3 = (VideoFormat) f3;
//         
//          assertFalse(vf3.getSize() == vf1.getSize());
//          assertFalse(vf3.getSize() == vf2.getSize());
//         
//        }
        ++count;
      }
     
   
    }
   
    //System.out.println(count);
  }
 

  private void checkEncodingCode(Format f1) throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException
  {
//    {
//      if (FormatPrivateTest.getEncodingCode(f1) != 0)
//      {
//        System.out.println("SHOULD BE ZERO: " + MediaCGUtils.formatToStr(f1));
//      }
//      //assertEquals(FormatPrivateTest.getEncodingCode(f1), 0L);
//    }
//   
//    String s = f1.toString();
   
   
    {
      if (FormatPrivateTest.getEncodingCode(f1) != 0)
      {
        System.out.println("assertEquals(FormatPrivateTest.getEncodingCode(" +  MediaCGUtils.formatToStr(f1) + "), " + CGUtils.toLiteral(FormatPrivateTest.getEncodingCode(f1)) + ");");
 
      }
      else
      {
        System.out.println("ZERO(FormatPrivateTest.getEncodingCode(" +  MediaCGUtils.formatToStr(f1) + "), " + CGUtils.toLiteral(FormatPrivateTest.getEncodingCode(f1)) + ");");

      }
      //assertNotEquals(FormatPrivateTest.getEncodingCode(f1), 0L);
    }
  }
  private void assertNotEquals(Object o1, Object o2)
  {
    if (o1 == null && o2 == null)
      return;
    if (o1 == null || o2 == null)
      assertFalse(true);   
    assertFalse(o1.equals(o2));
  }
  private static boolean nullSafeEquals(Object o1, Object o2)
  {
    if (o1 == null && o2 == null)
      return true;
    if (o1 == null || o2 == null)
      return false;
    return o1.equals(o2);
   
  }
  private void assertEquals(double a, double b)
  {
    assertTrue(a == b);
  }
}
TOP

Related Classes of net.sf.fmj.test.compat.formats.FormatCrossFormatTest

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.