android10_Launcher3_original
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (C) 2018 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.launcher3.util;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Robolectric unit tests for {@link IntSet}
|
||||
*/
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class IntSetTest {
|
||||
|
||||
@Test
|
||||
public void shouldBeEmptyInitially() {
|
||||
IntSet set = new IntSet();
|
||||
assertThat(set.size()).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void oneElementSet() {
|
||||
IntSet set = new IntSet();
|
||||
set.add(2);
|
||||
assertThat(set.size()).isEqualTo(1);
|
||||
assertTrue(set.contains(2));
|
||||
assertFalse(set.contains(1));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void twoElementSet() {
|
||||
IntSet set = new IntSet();
|
||||
set.add(2);
|
||||
set.add(1);
|
||||
assertThat(set.size()).isEqualTo(2);
|
||||
assertTrue(set.contains(2));
|
||||
assertTrue(set.contains(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void threeElementSet() {
|
||||
IntSet set = new IntSet();
|
||||
set.add(2);
|
||||
set.add(1);
|
||||
set.add(10);
|
||||
assertThat(set.size()).isEqualTo(3);
|
||||
assertEquals("1, 2, 10", set.mArray.toConcatString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void duplicateEntries() {
|
||||
IntSet set = new IntSet();
|
||||
set.add(2);
|
||||
set.add(2);
|
||||
assertEquals(1, set.size());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.android.launcher3.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.database.sqlite.SQLiteOpenHelper;
|
||||
|
||||
import com.android.launcher3.LauncherProvider;
|
||||
|
||||
/**
|
||||
* An extension of LauncherProvider backed up by in-memory database.
|
||||
*/
|
||||
public class TestLauncherProvider extends LauncherProvider {
|
||||
|
||||
@Override
|
||||
public boolean onCreate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected synchronized void createDbIfNotExists() {
|
||||
if (mOpenHelper == null) {
|
||||
mOpenHelper = new MyDatabaseHelper(getContext());
|
||||
}
|
||||
}
|
||||
|
||||
public SQLiteDatabase getDb() {
|
||||
createDbIfNotExists();
|
||||
return mOpenHelper.getWritableDatabase();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void notifyListeners() { }
|
||||
|
||||
private static class MyDatabaseHelper extends DatabaseHelper {
|
||||
public MyDatabaseHelper(Context context) {
|
||||
super(context, null, null);
|
||||
initIds();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getDefaultUserSerial() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onEmptyDbCreated() { }
|
||||
|
||||
@Override
|
||||
protected void handleOneTimeDataUpgrade(SQLiteDatabase db) { }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user