diff options
author | Isaac Katzenelson <isaack@android.com> | 2011-04-15 11:13:49 -0700 |
---|---|---|
committer | Isaac Katzenelson <isaack@android.com> | 2011-04-18 13:29:45 -0700 |
commit | 82400dd70331df7885dd59b809c4bc0667046320 (patch) | |
tree | 98ae146a558e27a59ad5d0616addc1a99aafbdba /tests/src | |
parent | 764d4d06cc60039f6ee526a2cd60d3b661d5ef55 (diff) | |
download | android_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/src')
-rw-r--r-- | tests/src/com/android/calendar/UtilsTests.java | 88 |
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); + } } |