/*
* Jajuk
* Copyright (C) The Jajuk Team
* http://jajuk.info
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
package org.jajuk.services.bookmark;
import java.util.ArrayList;
import java.util.List;
import org.jajuk.JajukTestCase;
import org.jajuk.TestHelpers;
import org.jajuk.base.File;
import org.jajuk.util.Conf;
import org.jajuk.util.Const;
/**
* .
*/
public class TestBookmarks extends JajukTestCase {
@Override
protected void specificSetUp() throws Exception {
Bookmarks.getInstance().clear();
}
/**
* Test method for {@link org.jajuk.services.bookmark.Bookmarks#getInstance()}
* .
*/
public void testGetInstance() {
Bookmarks.getInstance();
}
/**
* Test method for {@link org.jajuk.services.bookmark.Bookmarks#toString()}.
*
* @throws Exception the exception
*/
public void testToString() throws Exception {
// TODO: this fails currently because it returns an empty string:
// JUnitHelpers.ToStringTest(Bookmarks.getInstance());
assertNotNull(Bookmarks.getInstance().toString());
// test with some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
TestHelpers.ToStringTest(Bookmarks.getInstance());
}
/**
* Test method for {@link org.jajuk.services.bookmark.Bookmarks#getFiles()}.
*
* @throws Exception the exception
*/
public void testGetFiles() throws Exception {
assertEquals(0, Bookmarks.getInstance().getFiles().size());
// test with some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
assertEquals(1, Bookmarks.getInstance().getFiles().size());
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
assertEquals(2, Bookmarks.getInstance().getFiles().size());
}
/**
* Test method for {@link org.jajuk.services.bookmark.Bookmarks#clear()}.
*
* @throws Exception the exception
*/
public void testClear() throws Exception {
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
assertEquals(1, Bookmarks.getInstance().getFiles().size());
Bookmarks.getInstance().clear();
assertEquals(0, Bookmarks.getInstance().getFiles().size());
}
/**
* Test method for {@link org.jajuk.services.bookmark.Bookmarks#down(int)}.
*
* @throws Exception the exception
*/
public void testDownAndUp() throws Exception {
// nothing happens without files
Bookmarks.getInstance().down(0);
Bookmarks.getInstance().up(0);
// add some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file2", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file3", true));
// check the order
assertEquals("file1", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(2).getName());
// down some
Bookmarks.getInstance().down(1);
assertEquals("file1", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(2).getName());
// up again
Bookmarks.getInstance().up(1);
assertEquals("file3", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file1", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(2).getName());
// outside
Bookmarks.getInstance().down(2);
assertEquals("file3", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file1", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(2).getName());
// outside
Bookmarks.getInstance().up(0);
assertEquals("file3", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file1", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(2).getName());
}
/**
* Test method for {@link org.jajuk.services.bookmark.Bookmarks#remove(int)}.
*
* @throws Exception the exception
*/
public void testRemove() throws Exception {
// add some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file2", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file3", true));
Bookmarks.getInstance().remove(0);
assertEquals("file2", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(1).getName());
}
/**
* Test method for.
*
* @throws Exception the exception
* {@link org.jajuk.services.bookmark.Bookmarks#addFile(int, org.jajuk.base.File)}
* .
*/
public void testAddFileIntFile() throws Exception {
// add some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file2", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file3", true));
// check the order
assertEquals("file1", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(2).getName());
Bookmarks.getInstance().addFile(1, TestHelpers.getFile("file4", true));
assertEquals("file1", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file4", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(2).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(3).getName());
}
/**
* Test method for.
*
* @throws Exception the exception
* {@link org.jajuk.services.bookmark.Bookmarks#addFile(org.jajuk.base.File)}.
*/
public void testAddFileFile() throws Exception {
// add some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file2", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file3", true));
// check the order
assertEquals("file1", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(2).getName());
}
/**
* Test method for.
*
* @throws Exception the exception
* {@link org.jajuk.services.bookmark.Bookmarks#addFiles(java.util.List)}.
*/
public void testAddFiles() throws Exception {
List<File> list = new ArrayList<File>();
// add some files
list.add(TestHelpers.getFile("file1", true));
list.add(TestHelpers.getFile("file2", true));
list.add(TestHelpers.getFile("file3", true));
Bookmarks.getInstance().addFiles(list);
// check the order
assertEquals("file1", Bookmarks.getInstance().getFiles().get(0).getName());
assertEquals("file2", Bookmarks.getInstance().getFiles().get(1).getName());
assertEquals("file3", Bookmarks.getInstance().getFiles().get(2).getName());
}
// helper method to emma-coverage of the unused constructor
/**
* Test private constructor.
*
*
* @throws Exception the exception
*/
public void testPrivateConstructor() throws Exception {
// test with some files
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
Bookmarks.getInstance().addFile(TestHelpers.getFile("file1", true));
// For EMMA code-coverage tests
TestHelpers.executePrivateConstructor(Bookmarks.class);
}
/**
* Test coverage.
*
*
* @throws Exception the exception
*/
public void testCoverage() throws Exception {
Conf.setProperty(Const.CONF_BOOKMARKS, "");
// For EMMA code-coverage tests
TestHelpers.executePrivateConstructor(Bookmarks.class);
Conf.removeProperty(Const.CONF_BOOKMARKS);
// For EMMA code-coverage tests
TestHelpers.executePrivateConstructor(Bookmarks.class);
Conf.setProperty(Const.CONF_BOOKMARKS, "1,2,3,4");
// For EMMA code-coverage tests
TestHelpers.executePrivateConstructor(Bookmarks.class);
}
}