Linked google truth to Robolectric tests and added an example.
Bug: 31252617 Change-Id: I95aefd4809b8d292fe4cbeac903b8445e6e2a5ea Test: Target: RunSettingsRoboTests
This commit is contained in:
@@ -8,7 +8,8 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
|||||||
|
|
||||||
# Include the testing libraries (JUnit4 + Robolectric libs).
|
# Include the testing libraries (JUnit4 + Robolectric libs).
|
||||||
LOCAL_STATIC_JAVA_LIBRARIES := \
|
LOCAL_STATIC_JAVA_LIBRARIES := \
|
||||||
platform-system-robolectric
|
platform-system-robolectric \
|
||||||
|
truth-prebuilt
|
||||||
|
|
||||||
LOCAL_JAVA_LIBRARIES := \
|
LOCAL_JAVA_LIBRARIES := \
|
||||||
junit4-target \
|
junit4-target \
|
||||||
|
@@ -3,23 +3,24 @@ package com.android.settings.datausage;
|
|||||||
import android.net.NetworkPolicy;
|
import android.net.NetworkPolicy;
|
||||||
import android.net.NetworkTemplate;
|
import android.net.NetworkTemplate;
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import junit.framework.Assert;
|
import com.android.settingslib.net.DataUsageController.DataUsageInfo;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
import static com.android.settingslib.net.DataUsageController.*;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static junit.framework.Assert.assertTrue;
|
|
||||||
import static junit.framework.Assert.fail;
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||||
public class DataUsageInfoControllerTest {
|
public class DataUsageInfoControllerTest {
|
||||||
private DataUsageInfoController mInfoController;
|
private DataUsageInfoController mInfoController;
|
||||||
private DataUsageInfo info;
|
private DataUsageInfo info;
|
||||||
|
private static final int NEGATIVE = -1;
|
||||||
|
private static final int ZERO = 0;
|
||||||
|
private static final int POSITIVE_SMALL = 1;
|
||||||
|
private static final int POSITIVE_LARGE = 5;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
@@ -27,52 +28,53 @@ public class DataUsageInfoControllerTest {
|
|||||||
info = new DataUsageInfo();
|
info = new DataUsageInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLowUsageLowWarning_LimitUsed() {
|
public void testLowUsageLowWarning_LimitUsed() {
|
||||||
info.warningLevel = 5;
|
info.warningLevel = POSITIVE_SMALL;
|
||||||
info.limitLevel = 10;
|
info.limitLevel = POSITIVE_LARGE;
|
||||||
info.usageLevel = 5;
|
info.usageLevel = POSITIVE_SMALL;
|
||||||
assertEquals(mInfoController.getSummaryLimit(info), info.limitLevel);
|
assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.limitLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLowUsageEqualWarning_LimitUsed() {
|
public void testLowUsageEqualWarning_LimitUsed() {
|
||||||
info.warningLevel = 10;
|
info.warningLevel = POSITIVE_LARGE;
|
||||||
info.limitLevel = 10;
|
info.limitLevel = POSITIVE_LARGE;
|
||||||
info.usageLevel = 5;
|
info.usageLevel = POSITIVE_SMALL;
|
||||||
assertEquals(mInfoController.getSummaryLimit(info), info.limitLevel);
|
assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.limitLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNoLimitNoUsage_WarningUsed() {
|
public void testNoLimitNoUsage_WarningUsed() {
|
||||||
info.warningLevel = 10;
|
info.warningLevel = POSITIVE_LARGE;
|
||||||
info.limitLevel = 0;
|
info.limitLevel = ZERO;
|
||||||
info.usageLevel = 0;
|
info.usageLevel = ZERO;
|
||||||
assertEquals(mInfoController.getSummaryLimit(info), info.warningLevel);
|
assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.warningLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNoLimitLowUsage_WarningUsed() {
|
public void testNoLimitLowUsage_WarningUsed() {
|
||||||
info.warningLevel = 10;
|
info.warningLevel = POSITIVE_LARGE;
|
||||||
info.limitLevel = 0;
|
info.limitLevel = ZERO;
|
||||||
info.usageLevel = 5;
|
info.usageLevel = POSITIVE_SMALL;
|
||||||
assertEquals(mInfoController.getSummaryLimit(info), info.warningLevel);
|
assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.warningLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLowWarningNoLimit_UsageUsed() {
|
public void testLowWarningNoLimit_UsageUsed() {
|
||||||
info.warningLevel = 5;
|
info.warningLevel = POSITIVE_SMALL;
|
||||||
info.limitLevel = 0;
|
info.limitLevel = ZERO;
|
||||||
info.usageLevel = 10;
|
info.usageLevel = POSITIVE_LARGE;
|
||||||
assertEquals(mInfoController.getSummaryLimit(info), info.usageLevel);
|
assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.usageLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLowWarningLowLimit_UsageUsed() {
|
public void testLowWarningLowLimit_UsageUsed() {
|
||||||
info.warningLevel = 5;
|
info.warningLevel = POSITIVE_SMALL;
|
||||||
info.limitLevel = 5;
|
info.limitLevel = POSITIVE_SMALL;
|
||||||
info.usageLevel = 10;
|
info.usageLevel = POSITIVE_LARGE;
|
||||||
assertEquals(mInfoController.getSummaryLimit(info), info.usageLevel);
|
assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.usageLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
private NetworkPolicy getDefaultNetworkPolicy() {
|
private NetworkPolicy getDefaultNetworkPolicy() {
|
||||||
@@ -87,60 +89,56 @@ public class DataUsageInfoControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNullArguments_NoError() {
|
public void testNullArguments_NoError() {
|
||||||
try {
|
|
||||||
mInfoController.updateDataLimit(null, null);
|
mInfoController.updateDataLimit(null, null);
|
||||||
mInfoController.updateDataLimit(info, null);
|
mInfoController.updateDataLimit(info, null);
|
||||||
mInfoController.updateDataLimit(null, getDefaultNetworkPolicy());
|
mInfoController.updateDataLimit(null, getDefaultNetworkPolicy());
|
||||||
} catch (Exception e) {
|
|
||||||
fail("Update Data Limit should drop calls with null arguments");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNegativeWarning_UpdatedToZero() {
|
public void testNegativeWarning_UpdatedToZero() {
|
||||||
NetworkPolicy policy = getDefaultNetworkPolicy();
|
NetworkPolicy policy = getDefaultNetworkPolicy();
|
||||||
policy.warningBytes = -5;
|
policy.warningBytes = NEGATIVE;
|
||||||
mInfoController.updateDataLimit(info, policy);
|
mInfoController.updateDataLimit(info, policy);
|
||||||
Assert.assertEquals(0, info.warningLevel);
|
assertThat(info.warningLevel).isEqualTo(ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWarningZero_UpdatedToZero() {
|
public void testWarningZero_UpdatedToZero() {
|
||||||
NetworkPolicy policy = getDefaultNetworkPolicy();
|
NetworkPolicy policy = getDefaultNetworkPolicy();
|
||||||
policy.warningBytes = 0;
|
policy.warningBytes = ZERO;
|
||||||
mInfoController.updateDataLimit(info, policy);
|
mInfoController.updateDataLimit(info, policy);
|
||||||
Assert.assertEquals(0, info.warningLevel);
|
assertThat(info.warningLevel).isEqualTo(ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWarningPositive_UpdatedToWarning() {
|
public void testWarningPositive_UpdatedToWarning() {
|
||||||
NetworkPolicy policy = getDefaultNetworkPolicy();
|
NetworkPolicy policy = getDefaultNetworkPolicy();
|
||||||
policy.warningBytes = 5;
|
policy.warningBytes = POSITIVE_SMALL;
|
||||||
mInfoController.updateDataLimit(info, policy);
|
mInfoController.updateDataLimit(info, policy);
|
||||||
Assert.assertEquals(policy.warningBytes, info.warningLevel);
|
assertThat(info.warningLevel).isEqualTo(policy.warningBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLimitNegative_UpdatedToZero() {
|
public void testLimitNegative_UpdatedToZero() {
|
||||||
NetworkPolicy policy = getDefaultNetworkPolicy();
|
NetworkPolicy policy = getDefaultNetworkPolicy();
|
||||||
policy.limitBytes = -5;
|
policy.limitBytes = NEGATIVE;
|
||||||
mInfoController.updateDataLimit(info, policy);
|
mInfoController.updateDataLimit(info, policy);
|
||||||
Assert.assertEquals(0, info.limitLevel);
|
assertThat(info.limitLevel).isEqualTo(ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLimitZero_UpdatedToZero() {
|
public void testLimitZero_UpdatedToZero() {
|
||||||
NetworkPolicy policy = getDefaultNetworkPolicy();
|
NetworkPolicy policy = getDefaultNetworkPolicy();
|
||||||
policy.limitBytes = 0;
|
policy.limitBytes = ZERO;
|
||||||
mInfoController.updateDataLimit(info, policy);
|
mInfoController.updateDataLimit(info, policy);
|
||||||
Assert.assertEquals(0, info.limitLevel);
|
assertThat(info.limitLevel).isEqualTo(ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLimitPositive_UpdatedToLimit() {
|
public void testLimitPositive_UpdatedToLimit() {
|
||||||
NetworkPolicy policy = getDefaultNetworkPolicy();
|
NetworkPolicy policy = getDefaultNetworkPolicy();
|
||||||
policy.limitBytes = 5;
|
policy.limitBytes = POSITIVE_SMALL;
|
||||||
mInfoController.updateDataLimit(info, policy);
|
mInfoController.updateDataLimit(info, policy);
|
||||||
Assert.assertEquals(policy.limitBytes, info.limitLevel);
|
assertThat(info.limitLevel).isEqualTo(policy.limitBytes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user