Android Open Source - AudioBook Book Creator 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 ww.  j a  v a2  s .  c o m*/
 * 
 *  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.util;

import java.util.ArrayList;
import java.util.List;

import junit.framework.TestCase;
import android.os.Environment;
import android.util.Log;
import edu.chalmers.dat255.audiobookplayer.model.Bookshelf;

/**
 * JUnit test for BookCreator class.
 * 
 * @author Marcus Parkkinen, Aki K?kel?
 * 
 *         NOTE: in order for the test to pass, a valid path to an audio track
 *         on the device must be specified in VALID_PATH.
 * 
 */
public class BookCreatorTest extends TestCase {
  /**
   * NOTE:
   * 
   * MUST BE VALID IN ORDER FOR TESTS TO PASS
   * 
   */
  private static final String FILE_NAME = "/audiobooks/huckleberry finn/huck_finn_chap01-text.mp3";
  /**
   * NOTE:
   * 
   * MUST BE VALID IN ORDER FOR TESTS TO PASS
   * 
   */
  private static final String VALID_PATH = Environment
      .getExternalStorageDirectory().getPath() + FILE_NAME;

  private static final int NUMBER_OF_TRACKS = 125;
  private final BookCreator bc = BookCreator.getInstance();
  private final Bookshelf bs = new Bookshelf();
  private List<String> paths;

  /*
   * (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());
    }

    // Set the bookcreator to use the dummy bookshelf
    bc.setBookshelf(bs);

    // Populate the list with valid paths
    paths = new ArrayList<String>();
    for (int i = 0; i < NUMBER_OF_TRACKS; i++) {
      paths.add(VALID_PATH);
    }
  }

  /**
   * Tests the singleton getInstance method.
   */
  public void testSingleton() {
    // We should always get the same instance
    assertEquals(bc, BookCreator.getInstance());
  }

  /**
   * Tests creating a book.
   */
  public void testCreateBook() {
    Log.d("FAILURE", "##### testCreateBook #####");
    // Try creating a book with a valid path
    if (bc.createBookToBookshelf(paths, "Testbook", "Tester")) {
      // Assert that all tracks that were provided were
      // added to the book
      assertEquals(paths.size(), bs.getBookAt(0).getTrackPaths().size());

      Log.d("FAILURE", "----------");

      // Also assert that the paths are correct
      assertEquals(paths, bs.getBookAt(0).getTrackPaths());
    }

  }
}




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