Android Open Source - AudioBook Track Test






From Project

Back to project page AudioBook.

License

The source code is released under:

Creative Commons Legal Code Attribution-NonCommercial 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT C...

If you think the Android project AudioBook listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 *  This work is licensed under the Creative Commons Attribution-NonCommercial-
 *  NoDerivs 3.0 Unported License. To view a copy of this license, visit
 *  http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to 
 *  Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 
 *  94041, USA.//from  w  w w. j a va 2  s  .c  om
 * 
 *  Use of this work is permitted only in accordance with license rights granted.
 *  Materials provided "AS IS"; no representations or warranties provided.
 * 
 *  Copyright ? 2012 Marcus Parkkinen, Aki K?kel?, Fredrik ?hs.
 **/

package edu.chalmers.dat255.audiobookplayer.model;

import junit.framework.TestCase;

/**
 * Tests constructing and copying a track, getting the track path, and getting
 * and setting the elapsed time of the selected track.
 * 
 * @author Marcus Parkkinen, Aki K?kel?
 * @version 0.2
 */

public class TrackTest extends TestCase {
  // The test object.
  private Track t;

  // Some values for creating tracks.
  private static final String TRACK_PATH = "/audiobooks/huckleberry finn/huck_finn_chap01-text.mp3";
  private static final int TRACK_DURATION = 1238921;
  private static final int ELAPSED_TIME = 238238;

  /*
   * (non-Javadoc)
   * 
   * @see junit.framework.TestCase#setUp()
   */
  @Override
  protected void setUp() {
    try {
      super.setUp();
    } catch (Exception e) {
      // catch exceptions from super.setUp() and fail
      fail("setUp failed + " + e.getMessage());
    }
    t = new Track(TRACK_PATH, TRACK_DURATION);
    t.setSelectedTrackElapsedTime(ELAPSED_TIME);
  }

  /**
   * Tests the constructor.
   */
  public void testConstructor() {
    // try creating a track with 'null' as path
    try {
      t = new Track(null, TRACK_DURATION);
      fail("Constructor did not throw exception for null path.");
    } catch (IllegalArgumentException e) {

    }

    // try creating a track with illegal path string
    try {
      t = new Track("", TRACK_DURATION);
      fail("Constructor did not throw exception for empty string as path");
    } catch (IllegalArgumentException e) {

    }

    // try creating a track with 0 as duration
    try {
      t = new Track(TRACK_PATH, 0);
      fail("Constructor did not throw exception for zero duration.");
    } catch (IllegalArgumentException e) {

    }

    // try creating a track with -1 as duration
    try {
      t = new Track(TRACK_PATH, -1);
      fail("Constructor did not throw exception for negative duration.");
    } catch (IllegalArgumentException e) {

    }
  }

  /**
   * Tests the copy constructor.
   */
  public void testCopy() {
    // create a new copy of the track
    Track newTrack = new Track(t);

    // assert that we have two separate objects
    assertNotSame(newTrack, t);

    // but assert that they are equal
    assertTrue(newTrack.equals(t));
  }

  /**
   * Tests getting the track path.
   */
  public void testGetTrackPath() {
    assertTrue(TRACK_PATH.equals(t.getTrackPath()));
  }

  /**
   * Tests getting the elapsed time.
   */
  public void testGetElapsedTime() {
    assertEquals(ELAPSED_TIME, t.getElapsedTime());
  }

  /**
   * Tests setting the elapsed time of the selected track.
   */
  public void testSetSelectedTrackElapsedTime() {
    // test legal bound values
    t.setSelectedTrackElapsedTime(TRACK_DURATION);
    t.setSelectedTrackElapsedTime(0);

    // try setting a negative value for the track
    try {
      t.setSelectedTrackElapsedTime(-1);
      fail("managed to set time to negative value.");
    } catch (IllegalArgumentException e) {

    }

    // try setting a time > duration
    t.setSelectedTrackElapsedTime(TRACK_DURATION + 1);
    assertEquals(TRACK_DURATION, t.getElapsedTime());
  }

}




Java Source Code List

edu.chalmers.dat255.audiobookplayer.constants.Constants.java
edu.chalmers.dat255.audiobookplayer.constants.PlaybackStatus.java
edu.chalmers.dat255.audiobookplayer.ctrl.BookshelfControllerTest.java
edu.chalmers.dat255.audiobookplayer.ctrl.BookshelfController.java
edu.chalmers.dat255.audiobookplayer.ctrl.PlayerControllerTest.java
edu.chalmers.dat255.audiobookplayer.ctrl.PlayerController.java
edu.chalmers.dat255.audiobookplayer.instrumentation.AllTests.java
edu.chalmers.dat255.audiobookplayer.interfaces.IBookUpdates.java
edu.chalmers.dat255.audiobookplayer.interfaces.IBookshelfEvents.java
edu.chalmers.dat255.audiobookplayer.interfaces.IBookshelfGUIEvents.java
edu.chalmers.dat255.audiobookplayer.interfaces.IPlayerEvents.java
edu.chalmers.dat255.audiobookplayer.interfaces.ITrackUpdates.java
edu.chalmers.dat255.audiobookplayer.model.BookTest.java
edu.chalmers.dat255.audiobookplayer.model.Book.java
edu.chalmers.dat255.audiobookplayer.model.BookshelfTest.java
edu.chalmers.dat255.audiobookplayer.model.Bookshelf.java
edu.chalmers.dat255.audiobookplayer.model.TagTest.java
edu.chalmers.dat255.audiobookplayer.model.Tag.java
edu.chalmers.dat255.audiobookplayer.model.TrackTest.java
edu.chalmers.dat255.audiobookplayer.model.Track.java
edu.chalmers.dat255.audiobookplayer.util.BookCreatorTest.java
edu.chalmers.dat255.audiobookplayer.util.BookCreator.java
edu.chalmers.dat255.audiobookplayer.util.BookshelfHandlerTest.java
edu.chalmers.dat255.audiobookplayer.util.BookshelfHandler.java
edu.chalmers.dat255.audiobookplayer.util.FileParserTest.java
edu.chalmers.dat255.audiobookplayer.util.FileParser.java
edu.chalmers.dat255.audiobookplayer.util.JsonParserTest.java
edu.chalmers.dat255.audiobookplayer.util.JsonParser.java
edu.chalmers.dat255.audiobookplayer.util.TextFormatterTest.java
edu.chalmers.dat255.audiobookplayer.util.TextFormatter.java
edu.chalmers.dat255.audiobookplayer.util.TrackCreatorTest.java
edu.chalmers.dat255.audiobookplayer.util.TrackCreator.java
edu.chalmers.dat255.audiobookplayer.view.BookshelfFragment.java
edu.chalmers.dat255.audiobookplayer.view.BrowserActivityTest.java
edu.chalmers.dat255.audiobookplayer.view.BrowserActivity.java
edu.chalmers.dat255.audiobookplayer.view.MainActivity.java
edu.chalmers.dat255.audiobookplayer.view.PlayerFragment.java
edu.chalmers.dat255.audiobookplayer.view.ViewPagerAdapter.java