From 343377e41e96659376cad91d1c2819f7b5bb3842 Mon Sep 17 00:00:00 2001 From: Najm Sheikh Date: Fri, 14 Aug 2020 16:57:03 -0400 Subject: [PATCH] Migrate MainThreadExecutorTest to instrumentation test; Remove Robolectric dependency --- button-merchant/build.gradle | 1 - .../merchant/MainThreadExecutorTest.java | 15 +++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) rename button-merchant/src/{test => androidTest}/java/com/usebutton/merchant/MainThreadExecutorTest.java (80%) diff --git a/button-merchant/build.gradle b/button-merchant/build.gradle index b9e0730..5695a82 100644 --- a/button-merchant/build.gradle +++ b/button-merchant/build.gradle @@ -107,7 +107,6 @@ dependencies { testImplementation "junit:junit:$junitVersion" testImplementation "org.mockito:mockito-core:$mockitoVersion" testImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0' - testImplementation "org.robolectric:robolectric:3.8" testImplementation 'org.json:json:20171018' androidTestImplementation "com.android.support.test:runner:$testRunnerVersion" androidTestImplementation "com.android.support.test.espresso:espresso-core:$espressoVersion" diff --git a/button-merchant/src/test/java/com/usebutton/merchant/MainThreadExecutorTest.java b/button-merchant/src/androidTest/java/com/usebutton/merchant/MainThreadExecutorTest.java similarity index 80% rename from button-merchant/src/test/java/com/usebutton/merchant/MainThreadExecutorTest.java rename to button-merchant/src/androidTest/java/com/usebutton/merchant/MainThreadExecutorTest.java index 8219567..e2a424d 100644 --- a/button-merchant/src/test/java/com/usebutton/merchant/MainThreadExecutorTest.java +++ b/button-merchant/src/androidTest/java/com/usebutton/merchant/MainThreadExecutorTest.java @@ -1,7 +1,7 @@ /* * MainThreadExecutorTest.java * - * Copyright (c) 2018 Button, Inc. (https://usebutton.com) + * Copyright (c) 2020 Button, Inc. (https://usebutton.com) * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,35 +26,34 @@ package com.usebutton.merchant; import android.os.Looper; +import android.support.test.InstrumentationRegistry; import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.Robolectric; -import org.robolectric.RobolectricTestRunner; import java.util.concurrent.Executor; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -@RunWith(RobolectricTestRunner.class) public class MainThreadExecutorTest { private Executor executor = new MainThreadExecutor(); @Test - public void executor_shouldExecute() throws Exception { + public void executor_shouldExecute() { final boolean[] executed = { false }; + final Looper[] looper = { null }; executor.execute(new Runnable() { @Override public void run() { - assertEquals(Looper.myLooper(), Looper.getMainLooper()); + looper[0] = Looper.myLooper(); executed[0] = true; } }); + InstrumentationRegistry.getInstrumentation().waitForIdleSync(); - Robolectric.flushForegroundThreadScheduler(); + assertEquals(Looper.getMainLooper(), looper[0]); assertTrue(executed[0]); } } \ No newline at end of file