aboutsummaryrefslogtreecommitdiff
path: root/tests/src/com/android
diff options
context:
space:
mode:
authorAlon Albert <aalbert@google.com>2012-03-16 17:10:59 -0700
committerAlon Albert <aalbert@google.com>2012-03-19 15:58:39 -0700
commitbd003db9ed354cfd87df64d1ffd500e9a4bb8930 (patch)
tree70702b440d15cfbeca98e7d2e800c2f614ebe815 /tests/src/com/android
parent1de9c0f5dd625a44c634087e4fa485893a31a066 (diff)
downloadcalendar-bd003db9ed354cfd87df64d1ffd500e9a4bb8930.tar.gz
Move Duration class from CalendarProvider
Change-Id: I9a354fe360376c43da2290535a038bd6ab4facd3
Diffstat (limited to 'tests/src/com/android')
-rw-r--r--tests/src/com/android/calendarcommon/DurationTest.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/src/com/android/calendarcommon/DurationTest.java b/tests/src/com/android/calendarcommon/DurationTest.java
new file mode 100644
index 0000000..b264713
--- /dev/null
+++ b/tests/src/com/android/calendarcommon/DurationTest.java
@@ -0,0 +1,77 @@
+/* //device/content/providers/pim/DurationTest.java
+**
+** Copyright 2006, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package com.android.calendarcommon;
+
+import junit.framework.TestCase;
+
+import android.test.suitebuilder.annotation.SmallTest;
+
+public class DurationTest extends TestCase {
+
+ private void verifyDuration(String str,
+ int sign, int weeks, int days, int hours,
+ int minutes, int seconds) throws DateException {
+
+ Duration duration = new Duration();
+ duration.parse(str);
+
+ assertEquals("Duration sign is not equal for " + str, sign, duration.sign);
+ assertEquals("Duration weeks is not equal for " + str, weeks, duration.weeks);
+ assertEquals("Duration days is not equal for " + str, days, duration.days);
+ assertEquals("Duration hours is not equal for " + str, hours, duration.hours);
+ assertEquals("Duration minutes is not equal for " + str, minutes, duration.minutes);
+ assertEquals("Duration seconds is not equal for " + str, seconds, duration.seconds);
+ }
+
+ @SmallTest
+ public void testParse() throws Exception {
+ verifyDuration("P7W", 1, 7, 0, 0, 0, 0);
+ verifyDuration("PT7W", 1, 7, 0, 0, 0, 0);
+ verifyDuration("-PT7W", -1, 7, 0, 0, 0, 0);
+ verifyDuration("P15DT5H0M20S", 1, 0, 15, 5, 0, 20);
+ verifyDuration("-P15DT5H0M20S", -1, 0, 15, 5, 0, 20);
+ verifyDuration("PT1H2M3S", 1, 0, 0, 1, 2, 3);
+
+ verifyDuration("", 1, 0, 0, 0, 0, 0);
+ verifyDuration("P", 1, 0, 0, 0, 0, 0);
+ verifyDuration("P0W", 1, 0, 0, 0, 0, 0);
+ verifyDuration("P0D", 1, 0, 0, 0, 0, 0);
+ verifyDuration("PT0H0M0S", 1, 0, 0, 0, 0, 0);
+ verifyDuration("P0DT0H0M0S", 1, 0, 0, 0, 0, 0);
+ }
+
+ @SmallTest
+ public void testParseInvalidStrings() throws Exception {
+ try {
+ verifyDuration(" -P15DT5H0M20S", 0, 0, 0, 0, 0, 0);
+ fail("test didn't throw an exception but we expected it to");
+ } catch (DateException e) {
+ // expected
+ }
+
+ try {
+ verifyDuration(" not even close", 0, 0, 0, 0, 0, 0);
+ fail("test didn't throw an exception but we expected it to");
+ } catch (DateException e) {
+ // expected
+ }
+ }
+}
+
+
+