diff options
author | Ryan Lothian <rjlothian@google.com> | 2018-10-30 17:36:59 -0400 |
---|---|---|
committer | Ryan Lothian <rjlothian@google.com> | 2018-10-31 19:32:10 -0400 |
commit | 6699eaf74d26b085deeaf300fc5bdb19272f3a14 (patch) | |
tree | 47b40b318158353cab24b870188adedad5a60d5c /robolectric_tests | |
parent | 51ffcae523d3a788e6edfeafd7f609ade4236d51 (diff) | |
download | android_packages_apps_Trebuchet-6699eaf74d26b085deeaf300fc5bdb19272f3a14.tar.gz android_packages_apps_Trebuchet-6699eaf74d26b085deeaf300fc5bdb19272f3a14.tar.bz2 android_packages_apps_Trebuchet-6699eaf74d26b085deeaf300fc5bdb19272f3a14.zip |
Add robolectric tests for launcher
Bug: 117235618
Change-Id: Ia0441133a77069493b0a29a7a2d513a818dc7fe2
Diffstat (limited to 'robolectric_tests')
-rw-r--r-- | robolectric_tests/Android.mk | 53 | ||||
-rw-r--r-- | robolectric_tests/src/com/android/launcher3/util/IntSetTest.java | 81 |
2 files changed, 134 insertions, 0 deletions
diff --git a/robolectric_tests/Android.mk b/robolectric_tests/Android.mk new file mode 100644 index 000000000..501176475 --- /dev/null +++ b/robolectric_tests/Android.mk @@ -0,0 +1,53 @@ +# 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. + +############################################# +# Launcher Robolectric test target. # +############################################# +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE := LauncherRoboTests +LOCAL_SDK_VERSION := current +LOCAL_SRC_FILES := $(call all-java-files-under, src) +LOCAL_STATIC_JAVA_LIBRARIES := \ + androidx.test.runner \ + androidx.test.rules \ + mockito-robolectric-prebuilt \ + truth-prebuilt +LOCAL_JAVA_LIBRARIES := \ + platform-robolectric-3.6.1-prebuilt + +LOCAL_INSTRUMENTATION_FOR := Launcher3 +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_JAVA_LIBRARY) + +############################################ +# Target to run the previous target. # +############################################ +include $(CLEAR_VARS) + +LOCAL_MODULE := RunLauncherRoboTests +LOCAL_SDK_VERSION := current +LOCAL_JAVA_LIBRARIES := \ + LauncherRoboTests + +LOCAL_TEST_PACKAGE := Launcher3 + +LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src \ + +LOCAL_ROBOTEST_TIMEOUT := 36000 + +include prebuilts/misc/common/robolectric/3.6.1/run_robotests.mk diff --git a/robolectric_tests/src/com/android/launcher3/util/IntSetTest.java b/robolectric_tests/src/com/android/launcher3/util/IntSetTest.java new file mode 100644 index 000000000..faec380af --- /dev/null +++ b/robolectric_tests/src/com/android/launcher3/util/IntSetTest.java @@ -0,0 +1,81 @@ +/* + * 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) +@Config(sdk = 26) +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()); + } +} |