diff --git a/.travis.yml b/.travis.yml index f575367..66f370d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,4 +18,5 @@ before_install: install: - ./gradlew script: - - ./gradlew assembleDebug --stacktrace + - ./gradlew :app:assembleDebug --stacktrace + - ./gradlew :app:test --stacktrace diff --git a/app/build.gradle b/app/build.gradle index e9ae9f0..be9f680 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,6 +63,7 @@ dexcount { } dependencies { + testCompile 'junit:junit:4.12' // support libraries def supportLibVersion = '25.4.0' diff --git a/app/src/test/java/acr/browser/lightning/utils/PreconditionsTest.java b/app/src/test/java/acr/browser/lightning/utils/PreconditionsTest.java new file mode 100644 index 0000000..af4e751 --- /dev/null +++ b/app/src/test/java/acr/browser/lightning/utils/PreconditionsTest.java @@ -0,0 +1,19 @@ +package acr.browser.lightning.utils; + +import org.junit.Test; + +/** + * Unit tests for {@link Preconditions}. + */ +public class PreconditionsTest { + + @Test(expected = RuntimeException.class) + public void checkNonNull_Null_ThrowsException() { + Preconditions.checkNonNull(null); + } + + @Test + public void checkNonNull_NonNull_Succeeds() { + Preconditions.checkNonNull(new Object()); + } +} \ No newline at end of file diff --git a/app/src/test/java/acr/browser/lightning/utils/SubscriptionUtilsTest.java b/app/src/test/java/acr/browser/lightning/utils/SubscriptionUtilsTest.java new file mode 100644 index 0000000..7f23232 --- /dev/null +++ b/app/src/test/java/acr/browser/lightning/utils/SubscriptionUtilsTest.java @@ -0,0 +1,41 @@ +package acr.browser.lightning.utils; + +import com.anthonycr.bonsai.Subscription; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Unit tests for {@link SubscriptionUtils}. + */ +public class SubscriptionUtilsTest { + + @Test + public void safeUnsubscribe_NullSubscription_Succeeds() { + SubscriptionUtils.safeUnsubscribe(null); + } + + @Test + public void safeUnsubscribe_NonNullSubscription_SuccessfullyUnsubscribes() { + Subscription subscription = new Subscription() { + + boolean isUnsubscribed = false; + + @Override + public void unsubscribe() { + isUnsubscribed = true; + } + + @Override + public boolean isUnsubscribed() { + return isUnsubscribed; + } + }; + + Assert.assertFalse(subscription.isUnsubscribed()); + + SubscriptionUtils.safeUnsubscribe(subscription); + + Assert.assertTrue(subscription.isUnsubscribed()); + } +} \ No newline at end of file