Package javazoom.spi.mpeg.sampled.file

Source Code of javazoom.spi.mpeg.sampled.file.PropertiesTest

package javazoom.spi.mpeg.sampled.file;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.URL;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.UnsupportedAudioFileException;

import junit.framework.TestCase;

import org.tritonus.share.sampled.TAudioFormat;
import org.tritonus.share.sampled.file.TAudioFileFormat;

/**
* PropertiesContainer unit test.
* It matches test.mp3 properties to test.mp3.properties expected results.
* As we don't ship test.mp3, you have to generate your own test.mp3.properties
* Uncomment out = System.out; in setUp() method to generated it on stdout from
* your own MP3 file.
*/
public class PropertiesTest extends TestCase
{
  private String basefile=null;
  private String baseurl=null;
  private String filename=null;
  private String fileurl=null;
  private String name=null;
  private Properties props = null;
  private PrintStream out = null;

  /**
   * Constructor for PropertiesTest.
   * @param arg0
   */
  public PropertiesTest(String arg0)
  {
    super(arg0);
  }
  /*
   * @see TestCase#setUp()
   */
  protected void setUp() throws Exception
  {
    super.setUp();
    props = new Properties();
    InputStream pin = getClass().getClassLoader().getResourceAsStream("test.mp3.properties");
    props.load(pin);
    basefile = (String) props.getProperty("basefile");
    baseurl = (String) props.getProperty("baseurl");
    name = (String) props.getProperty("filename");
    filename = basefile + name;
    fileurl = baseurl + name;
    out = System.out;
  }

  /*
   * @see TestCase#tearDown()
   */
  protected void tearDown() throws Exception
  {
    super.tearDown();
  }

  public void testPropertiesFile()
  {
    String[] testPropsAFF = {"duration","title","author","album","date","comment",
                              "copyright","mp3.framerate.fps","mp3.copyright","mp3.padding",
                              "mp3.original","mp3.length.bytes","mp3.frequency.hz",
                              "mp3.length.frames","mp3.mode","mp3.channels","mp3.version.mpeg",
                              "mp3.framesize.bytes","mp3.vbr.scale","mp3.version.encoding",
                              "mp3.header.pos","mp3.version.layer","mp3.crc"};
    String[] testPropsAF = {"vbr", "bitrate"};

    File file = new File(filename);
    AudioFileFormat baseFileFormat = null;
    AudioFormat baseFormat = null;
    try
    {
      baseFileFormat = AudioSystem.getAudioFileFormat(file);
      baseFormat = baseFileFormat.getFormat();
      if (out != null) out.println("-> Filename : "+filename+" <-");
      if (out != nullout.println(baseFileFormat);
      if (baseFileFormat instanceof TAudioFileFormat)
      {
        Map properties = ((TAudioFileFormat)baseFileFormat).properties();
        if (out != nullout.println(properties);
        for (int i=0;i<testPropsAFF.length;i++)
        {
          String key = testPropsAFF[i];
          String val = null;
          if (properties.get(key) != null) val=(properties.get(key)).toString();
          if (out != nullout.println(key+"='"+val+"'");
          String valexpected = props.getProperty(key);
          assertEquals(key,valexpected,val);
        }
      }
      else
      {
        assertTrue("testPropertiesFile : TAudioFileFormat expected",false);
      }

      if (baseFormat instanceof TAudioFormat)
      {
        Map properties = ((TAudioFormat)baseFormat).properties();
        for (int i=0;i<testPropsAF.length;i++)
        {
          String key = testPropsAF[i];
          String val = null;
          if (properties.get(key) != null) val=(properties.get(key)).toString();
          if (out != nullout.println(key+"='"+val+"'");
          String valexpected = props.getProperty(key);
          assertEquals(key,valexpected,val);
        }
      }
      else
      {
        assertTrue("testPropertiesFile : TAudioFormat expected",false);
      }
    }
    catch (UnsupportedAudioFileException e)
    {
      assertTrue("testPropertiesFile : "+e.getMessage(),false);
    }
    catch (IOException e)
    {
      assertTrue("testPropertiesFile : "+e.getMessage(),false);
    }
  }

  public void testPropertiesURL()
  {
    String[] testPropsAFF = {/*"duration",*/"title","author","album","date","comment",
                "copyright","mp3.framerate.fps","mp3.copyright","mp3.padding",
                "mp3.original",/*"mp3.length.bytes",*/"mp3.frequency.hz",
                /*"mp3.length.frames",*/"mp3.mode","mp3.channels","mp3.version.mpeg",
                "mp3.framesize.bytes","mp3.vbr.scale","mp3.version.encoding",
                "mp3.header.pos","mp3.version.layer","mp3.crc"};
    String[] testPropsAF = {"vbr", "bitrate"};
    AudioFileFormat baseFileFormat = null;
    AudioFormat baseFormat = null;
    try
    {
      URL url = new URL(fileurl);
      baseFileFormat = AudioSystem.getAudioFileFormat(url);
      baseFormat = baseFileFormat.getFormat();
      if (out != null) out.println("-> URL : "+filename+" <-");
      if (out != null) out.println(baseFileFormat);
      if (baseFileFormat instanceof TAudioFileFormat)
      {
        Map properties = ((TAudioFileFormat)baseFileFormat).properties();
        for (int i=0;i<testPropsAFF.length;i++)
        {
          String key = testPropsAFF[i];
          String val = null;
          if (properties.get(key) != null) val=(properties.get(key)).toString();
          if (out != nullout.println(key+"='"+val+"'");
          String valexpected = props.getProperty(key);
          assertEquals(key,valexpected,val);
        }
      }
      else
      {
        assertTrue("testPropertiesURL : TAudioFileFormat expected",false);
      }
      if (baseFormat instanceof TAudioFormat)
      {
        Map properties = ((TAudioFormat)baseFormat).properties();
        for (int i=0;i<testPropsAF.length;i++)
        {
          String key = testPropsAF[i];
          String val = null;
          if (properties.get(key) != null) val=(properties.get(key)).toString();
          if (out != nullout.println(key+"='"+val+"'");
          String valexpected = props.getProperty(key);
          assertEquals(key,valexpected,val);
        }
      }
      else
      {
        assertTrue("testPropertiesURL : TAudioFormat expected",false);
      }
    }
    catch (UnsupportedAudioFileException e)
    {
      assertTrue("testPropertiesURL : "+e.getMessage(),false);
    }
    catch (IOException e)
    {
      assertTrue("testPropertiesURL : "+e.getMessage(),false);
    }
  }

  public void testPropertiesShoutcast()
  {
    AudioFileFormat baseFileFormat = null;
    AudioFormat baseFormat = null;
    String shoutURL = (String) props.getProperty("shoutcast");
    try
    {
      URL url = new URL(shoutURL);
      baseFileFormat = AudioSystem.getAudioFileFormat(url);
      baseFormat = baseFileFormat.getFormat();
      if (out != null) out.println("-> URL : "+url.toString()+" <-");
      if (out != null) out.println(baseFileFormat);
      if (baseFileFormat instanceof TAudioFileFormat)
      {
        Map properties = ((TAudioFileFormat)baseFileFormat).properties();
        Iterator it = properties.keySet().iterator();
        while (it.hasNext())
        {
          String key = (String) it.next();
          String val = null;
          if (properties.get(key) != null) val=(properties.get(key)).toString();
          if (out != nullout.println(key+"='"+val+"'");
        }
      }
      else
      {
        assertTrue("testPropertiesShoutcast : TAudioFileFormat expected",false);
      }
      if (baseFormat instanceof TAudioFormat)
      {
        Map properties = ((TAudioFormat)baseFormat).properties();
        Iterator it = properties.keySet().iterator();
        while (it.hasNext())
        {
          String key = (String) it.next();
          String val = null;
          if (properties.get(key) != null) val=(properties.get(key)).toString();
          if (out != nullout.println(key+"='"+val+"'");
        }
      }
      else
      {
        assertTrue("testPropertiesShoutcast : TAudioFormat expected",false);
      }
    }
    catch (UnsupportedAudioFileException e)
    {
      assertTrue("testPropertiesShoutcast : "+e.getMessage(),false);
    }
    catch (IOException e)
    {
      assertTrue("testPropertiesShoutcast : "+e.getMessage(),false);
    }
  }

    public void _testDumpPropertiesFile()
    {
        File file = new File(filename);
        AudioFileFormat baseFileFormat = null;
        AudioFormat baseFormat = null;
        try
        {
            baseFileFormat = AudioSystem.getAudioFileFormat(file);
            baseFormat = baseFileFormat.getFormat();
            if (out != null) out.println("-> Filename : "+filename+" <-");
            if (baseFileFormat instanceof TAudioFileFormat)
            {
                Map properties = ((TAudioFileFormat)baseFileFormat).properties();
                Iterator it = properties.keySet().iterator();
                while (it.hasNext())
                {
                    String key = (String) it.next();
                    String val=(properties.get(key)).toString();
                    if (out != null) out.println(key+"='"+val+"'");
                }
            }
            else
            {
                assertTrue("testDumpPropertiesFile : TAudioFileFormat expected",false);
            }

            if (baseFormat instanceof TAudioFormat)
            {
                Map properties = ((TAudioFormat)baseFormat).properties();
                Iterator it = properties.keySet().iterator();
                while (it.hasNext())
                {
                    String key = (String) it.next();
                    String val=(properties.get(key)).toString();
                    if (out != null) out.println(key+"='"+val+"'");
                }
            }
            else
            {
                assertTrue("testDumpPropertiesFile : TAudioFormat expected",false);
            }
        }
        catch (UnsupportedAudioFileException e)
        {
            assertTrue("testDumpPropertiesFile : "+e.getMessage(),false);
        }
        catch (IOException e)
        {
            assertTrue("testDumpPropertiesFile : "+e.getMessage(),false);
        }
    }

}
TOP

Related Classes of javazoom.spi.mpeg.sampled.file.PropertiesTest

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.