summaryrefslogtreecommitdiff
path: root/core/src/androidTest/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/androidTest/java/de')
-rw-r--r--core/src/androidTest/java/de/danoeh/antennapod/core/ApplicationTest.java13
-rw-r--r--core/src/androidTest/java/de/danoeh/antennapod/core/tests/AntennaPodTestRunner.java15
-rw-r--r--core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java77
-rw-r--r--core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java61
4 files changed, 153 insertions, 13 deletions
diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/ApplicationTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/ApplicationTest.java
deleted file mode 100644
index 894bcfa63..000000000
--- a/core/src/androidTest/java/de/danoeh/antennapod/core/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.danoeh.antennapod.core;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
- */
-public class ApplicationTest extends ApplicationTestCase<Application> {
- public ApplicationTest() {
- super(Application.class);
- }
-} \ No newline at end of file
diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/AntennaPodTestRunner.java b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/AntennaPodTestRunner.java
new file mode 100644
index 000000000..fbb5459d4
--- /dev/null
+++ b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/AntennaPodTestRunner.java
@@ -0,0 +1,15 @@
+package de.danoeh.antennapod.core.tests;
+
+import android.test.InstrumentationTestRunner;
+import android.test.suitebuilder.TestSuiteBuilder;
+import junit.framework.TestSuite;
+
+public class AntennaPodTestRunner extends InstrumentationTestRunner {
+
+ @Override
+ public TestSuite getAllTests() {
+ return new TestSuiteBuilder(AntennaPodTestRunner.class)
+ .includeAllPackagesUnderHere()
+ .build();
+ }
+} \ No newline at end of file
diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java
new file mode 100644
index 000000000..2a2d6414a
--- /dev/null
+++ b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java
@@ -0,0 +1,77 @@
+package de.danoeh.antennapod.core.tests.util;
+
+
+import android.test.AndroidTestCase;
+
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+
+import de.danoeh.antennapod.core.util.DateUtils;
+
+public class DateUtilsTest extends AndroidTestCase {
+
+ public void testParseDateWithMicroseconds() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 13, 31, 4);
+ Date expected = new Date(exp.getTimeInMillis() + 963);
+ Date actual = DateUtils.parse("2015-03-28T13:31:04.963870");
+ assertEquals(expected, actual);
+ }
+
+ public void testParseDateWithCentiseconds() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 13, 31, 4);
+ Date expected = new Date(exp.getTimeInMillis() + 960);
+ Date actual = DateUtils.parse("2015-03-28T13:31:04.96");
+ assertEquals(expected, actual);
+ }
+
+ public void testParseDateWithDeciseconds() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 13, 31, 4);
+ Date expected = new Date(exp.getTimeInMillis() + 900);
+ Date actual = DateUtils.parse("2015-03-28T13:31:04.9");
+ assertEquals(expected.getTime()/1000, actual.getTime()/1000);
+ assertEquals(900, actual.getTime()%1000);
+ }
+
+ public void testParseDateWithMicrosecondsAndTimezone() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 6, 31, 4);
+ exp.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expected = new Date(exp.getTimeInMillis() + 963);
+ Date actual = DateUtils.parse("2015-03-28T13:31:04.963870 +0700");
+ assertEquals(expected, actual);
+ }
+
+ public void testParseDateWithCentisecondsAndTimezone() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 6, 31, 4);
+ exp.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expected = new Date(exp.getTimeInMillis() + 960);
+ Date actual = DateUtils.parse("2015-03-28T13:31:04.96 +0700");
+ assertEquals(expected, actual);
+ }
+
+ public void testParseDateWithDecisecondsAndTimezone() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 6, 31, 4);
+ exp.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expected = new Date(exp.getTimeInMillis() + 900);
+ Date actual = DateUtils.parse("2015-03-28T13:31:04.9 +0700");
+ assertEquals(expected.getTime()/1000, actual.getTime()/1000);
+ assertEquals(900, actual.getTime()%1000);
+ }
+
+ public void testParseDateWithTimezoneName() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 6, 31, 4);
+ exp.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expected = new Date(exp.getTimeInMillis());
+ Date actual = DateUtils.parse("Sat, 28 Mar 2015 01:31:04 EST");
+ assertEquals(expected, actual);
+ }
+
+ public void testParseDateWithTimeZoneOffset() throws Exception {
+ GregorianCalendar exp = new GregorianCalendar(2015, 2, 28, 12, 16, 12);
+ exp.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expected = new Date(exp.getTimeInMillis());
+ Date actual = DateUtils.parse("Sat, 28 March 2015 08:16:12 -0400");
+ assertEquals(expected, actual);
+ }
+
+}
diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java
new file mode 100644
index 000000000..50c2a9c3c
--- /dev/null
+++ b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/LongLongMapTest.java
@@ -0,0 +1,61 @@
+package de.danoeh.antennapod.core.tests.util;
+
+import android.test.AndroidTestCase;
+
+import de.danoeh.antennapod.core.util.LongIntMap;
+
+public class LongLongMapTest extends AndroidTestCase {
+
+ public void testEmptyMap() {
+ LongIntMap map = new LongIntMap();
+ assertEquals(0, map.size());
+ assertEquals("LongLongMap{}", map.toString());
+ assertEquals(0, map.get(42));
+ assertEquals(-1, map.get(42, -1));
+ assertEquals(false, map.delete(42));
+ assertEquals(-1, map.indexOfKey(42));
+ assertEquals(-1, map.indexOfValue(42));
+ assertEquals(1, map.hashCode());
+ }
+
+ public void testSingleElement() {
+ LongIntMap map = new LongIntMap();
+ map.put(17, 42);
+ assertEquals(1, map.size());
+ assertEquals("LongLongMap{17=42}", map.toString());
+ assertEquals(42, map.get(17));
+ assertEquals(42, map.get(17, -1));
+ assertEquals(0, map.indexOfKey(17));
+ assertEquals(0, map.indexOfValue(42));
+ assertEquals(true, map.delete(17));
+ }
+
+ public void testAddAndDelete() {
+ LongIntMap map = new LongIntMap();
+ for(int i=0; i < 100; i++) {
+ map.put(i * 17, i * 42);
+ }
+ assertEquals(100, map.size());
+ assertEquals(0, map.get(0));
+ assertEquals(42, map.get(17));
+ assertEquals(42, map.get(17, -1));
+ assertEquals(1, map.indexOfKey(17));
+ assertEquals(1, map.indexOfValue(42));
+ for(int i=0; i < 100; i++) {
+ assertEquals(true, map.delete(i * 17));
+ }
+ }
+
+ public void testOverwrite() {
+ LongIntMap map = new LongIntMap();
+ map.put(17, 42);
+ assertEquals(1, map.size());
+ assertEquals("LongLongMap{17=42}", map.toString());
+ assertEquals(42, map.get(17));
+ map.put(17, 23);
+ assertEquals(1, map.size());
+ assertEquals("LongLongMap{17=23}", map.toString());
+ assertEquals(23, map.get(17));
+ }
+
+}