summaryrefslogtreecommitdiffstats
path: root/robolectric_tests/src/com/android/launcher3
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-11-05 16:35:19 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-11-05 16:35:19 +0000
commit0ef4c4fcb3f22b01cf70cae7ce7eac3e461024e9 (patch)
tree19ab885a0a183645c51c7902bf9d6a777b5a32a2 /robolectric_tests/src/com/android/launcher3
parentccda30d4b63fb1042a49737b3f855b6f0ed36c62 (diff)
parentf4c42bc79ab0ea3d4e39a20dacd596f94dbff3ce (diff)
downloadandroid_packages_apps_Trebuchet-0ef4c4fcb3f22b01cf70cae7ce7eac3e461024e9.tar.gz
android_packages_apps_Trebuchet-0ef4c4fcb3f22b01cf70cae7ce7eac3e461024e9.tar.bz2
android_packages_apps_Trebuchet-0ef4c4fcb3f22b01cf70cae7ce7eac3e461024e9.zip
Merge "Migrate GridOccupancyTest to Robolectric" into ub-launcher3-master
Diffstat (limited to 'robolectric_tests/src/com/android/launcher3')
-rw-r--r--robolectric_tests/src/com/android/launcher3/util/GridOccupancyTest.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/robolectric_tests/src/com/android/launcher3/util/GridOccupancyTest.java b/robolectric_tests/src/com/android/launcher3/util/GridOccupancyTest.java
new file mode 100644
index 000000000..aa51ad20c
--- /dev/null
+++ b/robolectric_tests/src/com/android/launcher3/util/GridOccupancyTest.java
@@ -0,0 +1,67 @@
+package com.android.launcher3.util;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Unit tests for {@link GridOccupancy}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class GridOccupancyTest {
+
+ @Test
+ public void testFindVacantCell() {
+ GridOccupancy grid = initGrid(4,
+ 1, 1, 1, 0, 0,
+ 0, 0, 1, 1, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 0, 0, 0
+ );
+
+ int[] vacant = new int[2];
+ assertTrue(grid.findVacantCell(vacant, 2, 2));
+ assertEquals(vacant[0], 0);
+ assertEquals(vacant[1], 1);
+
+ assertTrue(grid.findVacantCell(vacant, 3, 2));
+ assertEquals(vacant[0], 2);
+ assertEquals(vacant[1], 2);
+
+ assertFalse(grid.findVacantCell(vacant, 3, 3));
+ }
+
+ @Test
+ public void testIsRegionVacant() {
+ GridOccupancy grid = initGrid(4,
+ 1, 1, 1, 0, 0,
+ 0, 0, 1, 1, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 0, 0, 0
+ );
+
+ assertTrue(grid.isRegionVacant(4, 0, 1, 4));
+ assertTrue(grid.isRegionVacant(0, 1, 2, 2));
+ assertTrue(grid.isRegionVacant(2, 2, 3, 2));
+
+ assertFalse(grid.isRegionVacant(3, 0, 2, 4));
+ assertFalse(grid.isRegionVacant(0, 0, 2, 1));
+ }
+
+ private GridOccupancy initGrid(int rows, int... cells) {
+ int cols = cells.length / rows;
+ int i = 0;
+ GridOccupancy grid = new GridOccupancy(cols, rows);
+ for (int y = 0; y < rows; y++) {
+ for (int x = 0; x < cols; x++) {
+ grid.cells[x][y] = cells[i] != 0;
+ i++;
+ }
+ }
+ return grid;
+ }
+}