/**
*
*/
package net.frontlinesms;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import thinlet.Thinlet;
import net.frontlinesms.junit.BaseTestCase;
import net.frontlinesms.ui.i18n.InternationalisationUtils;
/**
* Unit tests for {@link FrontlineUtils} class.
* @author Alex Anderson <alex@frontlinesms.com>
* @author Morgan Belkadi <morgan@frontlinesms.com>
*/
public class FrontlineUtilsTest extends BaseTestCase {
public void testDateParsing () throws ParseException, IOException {
Thinlet.DEFAULT_ENGLISH_BUNDLE = InternationalisationUtils.getDefaultLanguageBundle().getProperties();
long date;
date = FrontlineUtils.getLongDateFromStringDate("", true);
assertTrue(System.currentTimeMillis() >= date);
assertTrue(FrontlineUtils.getLongDateFromStringDate("20/04/2009", true) < FrontlineUtils.getLongDateFromStringDate("19/04/2010", true));
assertTrue(FrontlineUtils.getLongDateFromStringDate("20/04/09", true) < FrontlineUtils.getLongDateFromStringDate("19/04/10", true));
}
public void testGetFilenameWithoutFinalExtension() {
testGetFilenameWithoutFinalExtension("a.b", "a");
testGetFilenameWithoutFinalExtension("/a/b/c/whatever.text", "whatever");
testGetFilenameWithoutFinalExtension("/a/b/c/whatever.text.hahahahaha", "whatever.text");
testGetFilenameWithoutFinalExtension("/a/b/c/whatever.text etc", "whatever");
testGetFilenameWithoutFinalExtension("/a/b.c/c.d/whatever.abc", "whatever");
testGetFilenameWithoutFinalExtension("C:/Program Files/My Program/filename.ext", "filename");
testGetFilenameWithoutFinalExtension("C:/Program Files/My Program/filename with space.ext", "filename with space");
}
private void testGetFilenameWithoutFinalExtension(String path, String expectedNameWithoutExtension) {
File file = new File(path);
assertEquals(expectedNameWithoutExtension, FrontlineUtils.getFilenameWithoutFinalExtension(file));
assertEquals(expectedNameWithoutExtension, FrontlineUtils.getFilenameWithoutFinalExtension(file.getName()));
}
public void testGetFilenameWithoutAnyExtension() {
testGetFilenameWithoutAnyExtension("a.b", "a");
testGetFilenameWithoutAnyExtension("/a/b/c/whatever.text", "whatever");
testGetFilenameWithoutAnyExtension("/a/b/c/whatever.text.hahahahaha", "whatever");
testGetFilenameWithoutAnyExtension("/a/b/c/whatever.text etc", "whatever");
testGetFilenameWithoutAnyExtension("/a/b.c/c.d/whatever.abc", "whatever");
testGetFilenameWithoutAnyExtension("C:/Program Files/My Program/filename.ext", "filename");
testGetFilenameWithoutAnyExtension("C:/Program Files/My Program/filename with space.ext", "filename with space");
}
private void testGetFilenameWithoutAnyExtension(String path, String expectedNameWithoutExtension) {
File file = new File(path);
assertEquals(expectedNameWithoutExtension, FrontlineUtils.getFilenameWithoutAnyExtension(file));
assertEquals(expectedNameWithoutExtension, FrontlineUtils.getFilenameWithoutAnyExtension(file.getName()));
}
public void testGetFinalFileExtension() {
testGetFinalFileExtension("", "bob.");
testGetFinalFileExtension("", "bob");
testGetFinalFileExtension("bob", ".bob");
testGetFinalFileExtension("txt", "bob.txt");
testGetFinalFileExtension("jpg", "bob.txt.jpg");
}
private void testGetFinalFileExtension(String expected, String filename) {
assertEquals(expected, FrontlineUtils.getFinalFileExtension(filename));
assertEquals(expected, FrontlineUtils.getFinalFileExtension(new File(filename)));
}
public void testGetWholeFileExtension() {
testGetWholeFileExtension("", "bob.");
testGetWholeFileExtension("", "bob");
testGetWholeFileExtension("bob", ".bob");
testGetWholeFileExtension("txt", "bob.txt");
testGetWholeFileExtension("txt.jpg", "bob.txt.jpg");
}
private void testGetWholeFileExtension(String expected, String filename) {
assertEquals(expected, FrontlineUtils.getWholeFileExtension(filename));
assertEquals(expected, FrontlineUtils.getWholeFileExtension(new File(filename)));
}
}