Android Open Source - adventure.datetime Story Test






From Project

Back to project page adventure.datetime.

License

The source code is released under:

MIT License

If you think the Android project adventure.datetime 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

/*
 * Copyright (c) 2013 Andrew Fontaine, James Finlay, Jesse Tucker, Jacob Viau, and
 * Evan DeGraff//from  w w  w .  j  av a2  s  . c om
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

package ca.cmput301f13t03.adventure_datetime.model;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.test.AndroidTestCase;
import ca.cmput301f13t03.adventure_datetime.R;
import com.google.gson.Gson;
import junit.framework.Assert;

import java.util.UUID;

/**
 * @author Andrew Fontaine
 * @version 1.0
 * @since 04/11/13
 */
public class StoryTest extends AndroidTestCase {

  public void setUp() throws Exception {
    super.setUp();
  }

  public void testCreation() throws Exception {
    Story story = new Story();
    Assert.assertNotNull("Story is null", story);
    story = new Story("test", "test", "test");
    Assert.assertNotNull("Story is null", story);
    story = new Story(UUID.randomUUID().toString(), UUID.randomUUID().toString(), "test",
        System.currentTimeMillis() / 1000L, "test", Bitmap.createBitmap(10, 10, Bitmap.Config.RGB_565), "test");
    Assert.assertNotNull("Story is null", story);
  }

  public void testAddRemoveFragment() throws Exception {
    Story story = new Story();
    Assert.assertTrue("HashMap is not empty", story.getFragments().isEmpty());
    StoryFragment frag = new StoryFragment(story.getId(), "test");
    story.addFragment(frag);
    Assert.assertTrue("Story doesn't contain fragment", story.getFragments().contains(frag.getFragmentID()));
    Assert.assertEquals("Story head isn't new fragment", frag.getFragmentID(), story.getHeadFragmentId());
    story.removeFragment(frag.getFragmentID());
    Assert.assertFalse("Story contains fragment", story.getFragments().contains(frag.getFragmentID()));

    story.addFragment(frag.getFragmentID());
    Assert.assertTrue("Story doesn't contain fragment", story.getFragments().contains(frag.getFragmentID()));
    Assert.assertEquals("Story head isn't new fragment", frag.getFragmentID(), story.getHeadFragmentId());
    story.removeFragment(frag.getFragmentID());
    Assert.assertFalse("Story contains fragment", story.getFragments().contains(frag.getFragmentID()));
  }

  public void testAddRemoveTags() throws Exception {
    Story story = new Story();
    Assert.assertTrue("HashMap doesn't contain 'new'", story.getTags().contains("new"));
    Assert.assertEquals("HashMap doesn't contain 1 value", 1, story.getTags().size());
    story.addTag("Test");
    Assert.assertTrue("Story doesn't contain 'test'", story.getTags().contains("Test"));
    Assert.assertEquals("HashMap doesn't contain 2 values", 2, story.getTags().size());
    story.removeTag("Test");
    Assert.assertFalse("HashMap still contains 'test'", story.getTags().contains("Test"));
    Assert.assertEquals("HashMap doesn't contain 1 value", 1, story.getTags().size());
  }

  public void testJSON() throws Exception {
    Story story = new Story();
    Gson gson = new Gson();
    String json = gson.toJson(story);
    Story story2;
    story2 = gson.fromJson(json, Story.class);
    Assert.assertEquals("UUIDs do not match", story.getId(), story2.getId());
  }
  
  public void testThumbnail() throws Exception {
    Story story = new Story();
    Gson gson = new Gson();
    
    story.setThumbnail(BitmapFactory.decodeResource(getContext().getResources(), R.drawable.grumpy_cat));
    Bitmap bitmap = story.decodeThumbnail();
    assertEquals(bitmap, story.decodeThumbnail()); // getting this item twice returns the same object
    assertEquals(story.getId(), story.getThumbnail().getId());
    
    String json = gson.toJson(story);
    assertFalse(json.contains("thumbnailDecoded")); // transient property. Should not appear.
    assertFalse(json.contains("thumbnailDirty")); // transient property. Should not appear.
    
    story.setThumbnail(BitmapFactory.decodeResource(getContext().getResources(), R.drawable.launch_icon));
    assertFalse(bitmap.equals(story.decodeThumbnail())); // thumbnail should be regenerated, thus not equal
    assertEquals(story.getId(), story.getThumbnail().getId());
    
  }

  public void tearDown() throws Exception {
    super.tearDown();
  }
}




Java Source Code List

ca.cmput301f13t03.adventure_datetime.controller.AuthorControllerTest.java
ca.cmput301f13t03.adventure_datetime.controller.AuthorController.java
ca.cmput301f13t03.adventure_datetime.controller.UserControllerTest.java
ca.cmput301f13t03.adventure_datetime.controller.UserController.java
ca.cmput301f13t03.adventure_datetime.model.AccountServiceTests.java
ca.cmput301f13t03.adventure_datetime.model.AccountService.java
ca.cmput301f13t03.adventure_datetime.model.BookmarkTest.java
ca.cmput301f13t03.adventure_datetime.model.Bookmark.java
ca.cmput301f13t03.adventure_datetime.model.ChoiceTest.java
ca.cmput301f13t03.adventure_datetime.model.Choice.java
ca.cmput301f13t03.adventure_datetime.model.CommentTest.java
ca.cmput301f13t03.adventure_datetime.model.Comment.java
ca.cmput301f13t03.adventure_datetime.model.ES.java
ca.cmput301f13t03.adventure_datetime.model.ImageTest.java
ca.cmput301f13t03.adventure_datetime.model.Image.java
ca.cmput301f13t03.adventure_datetime.model.StoryDBTest.java
ca.cmput301f13t03.adventure_datetime.model.StoryDB.java
ca.cmput301f13t03.adventure_datetime.model.StoryFragmentTest.java
ca.cmput301f13t03.adventure_datetime.model.StoryFragment.java
ca.cmput301f13t03.adventure_datetime.model.StoryManager.java
ca.cmput301f13t03.adventure_datetime.model.StoryTest.java
ca.cmput301f13t03.adventure_datetime.model.Story.java
ca.cmput301f13t03.adventure_datetime.model.ThreadPool.java
ca.cmput301f13t03.adventure_datetime.model.WebStorageCleaner.java
ca.cmput301f13t03.adventure_datetime.model.WebStorageTest.java
ca.cmput301f13t03.adventure_datetime.model.WebStorage.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.IAllFragmentsListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.IBookmarkListListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.ICommentsListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.ICurrentFragmentListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.ICurrentStoryListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.ILocalStorage.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.ILocalStoriesListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.IOnlineStoriesListener.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.IStoryModelDirector.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.IStoryModelPresenter.java
ca.cmput301f13t03.adventure_datetime.model.Interfaces.IWebStorage.java
ca.cmput301f13t03.adventure_datetime.serviceLocator.Locator.java
ca.cmput301f13t03.adventure_datetime.view.AuthorEdit_Edit.java
ca.cmput301f13t03.adventure_datetime.view.AuthorEdit_Overview.java
ca.cmput301f13t03.adventure_datetime.view.AuthorEdit.java
ca.cmput301f13t03.adventure_datetime.view.AuthorStories.java
ca.cmput301f13t03.adventure_datetime.view.AuthorStoryDescription.java
ca.cmput301f13t03.adventure_datetime.view.AuthorViewPager.java
ca.cmput301f13t03.adventure_datetime.view.BrowseFragment.java
ca.cmput301f13t03.adventure_datetime.view.BrowseView.java
ca.cmput301f13t03.adventure_datetime.view.CommentsView.java
ca.cmput301f13t03.adventure_datetime.view.ContinueView.java
ca.cmput301f13t03.adventure_datetime.view.FragmentViewActivity.java
ca.cmput301f13t03.adventure_datetime.view.FragmentView.java
ca.cmput301f13t03.adventure_datetime.view.FullScreen_Image.java
ca.cmput301f13t03.adventure_datetime.view.IFragmentSelected.java
ca.cmput301f13t03.adventure_datetime.view.MainViewTest.java
ca.cmput301f13t03.adventure_datetime.view.MainView.java
ca.cmput301f13t03.adventure_datetime.view.StoryDescription.java
ca.cmput301f13t03.adventure_datetime.view.treeView.Camera.java
ca.cmput301f13t03.adventure_datetime.view.treeView.ConnectionPlacer.java
ca.cmput301f13t03.adventure_datetime.view.treeView.FragmentConnection.java
ca.cmput301f13t03.adventure_datetime.view.treeView.FragmentNode.java
ca.cmput301f13t03.adventure_datetime.view.treeView.GridSegment.java
ca.cmput301f13t03.adventure_datetime.view.treeView.InputHandler.java
ca.cmput301f13t03.adventure_datetime.view.treeView.NodeGrid.java
ca.cmput301f13t03.adventure_datetime.view.treeView.NodePlacer.java
ca.cmput301f13t03.adventure_datetime.view.treeView.Region.java
ca.cmput301f13t03.adventure_datetime.view.treeView.TreeView.java