summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorIsaac Katzenelson <isaack@android.com>2011-04-15 11:13:49 -0700
committerIsaac Katzenelson <isaack@android.com>2011-04-18 13:29:45 -0700
commit82400dd70331df7885dd59b809c4bc0667046320 (patch)
tree98ae146a558e27a59ad5d0616addc1a99aafbdba /tests
parent764d4d06cc60039f6ee526a2cd60d3b661d5ef55 (diff)
downloadandroid_packages_apps_Calendar-82400dd70331df7885dd59b809c4bc0667046320.tar.gz
android_packages_apps_Calendar-82400dd70331df7885dd59b809c4bc0667046320.tar.bz2
android_packages_apps_Calendar-82400dd70331df7885dd59b809c4bc0667046320.zip
Support for "Busy Bits" in month view
Change-Id: I80e4ab5c55113c3f15c396443c29351bb2dc60fa
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/calendar/UtilsTests.java88
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/src/com/android/calendar/UtilsTests.java b/tests/src/com/android/calendar/UtilsTests.java
index 94776a6e..fd5c399f 100644
--- a/tests/src/com/android/calendar/UtilsTests.java
+++ b/tests/src/com/android/calendar/UtilsTests.java
@@ -16,11 +16,14 @@
package com.android.calendar;
+import com.android.calendar.Utils.BusyBitsSegment;
+
import android.database.MatrixCursor;
import android.test.suitebuilder.annotation.SmallTest;
import android.test.suitebuilder.annotation.Smoke;
import android.text.format.Time;
+import java.util.ArrayList;
import java.util.HashMap;
import junit.framework.TestCase;
@@ -124,4 +127,89 @@ public class UtilsTests extends TestCase {
Integer int2 = new Integer(1);
assertTrue(Utils.equals(int1, int2));
}
+
+ @Smoke
+ @SmallTest
+ public void testCreateBusyBitSegments() {
+
+ ArrayList<Event> events = new ArrayList<Event>();
+
+ // Test cases that should return null
+ assertEquals(null, Utils.createBusyBitSegments(10, 30, 100, 200, events));
+ assertEquals(null, Utils.createBusyBitSegments(10, 30, 100, 200, null));
+
+ Event e1 = new Event();
+ e1.startTime = 100;
+ e1.endTime = 130;
+ e1.allDay = false;
+ Event e2 = new Event();
+ e1.startTime = 1000;
+ e1.endTime = 1030;
+ e2.allDay = false;
+ events.add(e1);
+ events.add(e2);
+ assertEquals(null, Utils.createBusyBitSegments(30, 10, 100, 200, events));
+ assertEquals(null, Utils.createBusyBitSegments(10, 30, 200, 100, events));
+ assertEquals(0, Utils.createBusyBitSegments(10, 30, 500, 900, events).size());
+
+ // Test special cases (events that are only partially in the processed
+ // time span,
+ // zero time events and all day events).
+
+ events.clear();
+ e1.startTime = 100;
+ e1.endTime = 300;
+ e1.allDay = false;
+ e2.startTime = 1100;
+ e2.endTime = 1300;
+ e2.allDay = false;
+ Event e3 = new Event();
+ e3.startTime = 500;
+ e3.endTime = 600;
+ e3.allDay = true;
+ Event e4 = new Event();
+ e4.startTime = 700;
+ e4.endTime = 700;
+ e4.allDay = false;
+ events.add(e1);
+ events.add(e2);
+ events.add(e3);
+ events.add(e4);
+ ArrayList<BusyBitsSegment> segments = new ArrayList<BusyBitsSegment>();
+ BusyBitsSegment s1 = new BusyBitsSegment(0, 10);
+ BusyBitsSegment s2 = new BusyBitsSegment(90, 100);
+ segments.add(s1);
+ segments.add(s2);
+ assertEquals(segments, Utils.createBusyBitSegments(0, 100, 200, 1200, events));
+
+ // Test interleaved events
+
+ events.clear();
+ e1.startTime = 100;
+ e1.endTime = 130;
+ e1.allDay = false;
+ e2.startTime = 110;
+ e2.endTime = 200;
+ e2.allDay = false;
+ e3.startTime = 200;
+ e3.endTime = 300;
+ e3.allDay = false;
+ e4.startTime = 500;
+ e4.endTime = 700;
+ e4.allDay = false;
+ events.add(e1);
+ events.add(e2);
+ events.add(e3);
+ events.add(e4);
+
+ segments.clear();
+ s1.start = 100;
+ s1.end = 120;
+ s2.start = 140;
+ s2.end = 160;
+ segments.add(s1);
+ segments.add(s2);
+ ArrayList<BusyBitsSegment> results = Utils.createBusyBitSegments(100, 180, 100, 900, events);
+ assertEquals(segments, results);
+ }
}