ff4ba2d995
Change-Id: I37a830c0f2eb0a0dd4f5fc78fa29127cb18cb3c2
62 lines
1.7 KiB
Java
62 lines
1.7 KiB
Java
package com.android.launcher3.util;
|
|
|
|
import android.test.suitebuilder.annotation.SmallTest;
|
|
|
|
import junit.framework.TestCase;
|
|
|
|
/**
|
|
* Unit tests for {@link GridOccupancy}
|
|
*/
|
|
@SmallTest
|
|
public class GridOccupancyTest extends TestCase {
|
|
|
|
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));
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|