diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2015-01-01 15:06:26 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2015-01-01 15:06:26 +0100 |
| commit | c263e8ce383ce04cab3dcaa70af1cca867787b13 (patch) | |
| tree | 7957eca7f616f862e55b5c4b3e68248567ef1b7b | |
| parent | 892c38e94c8db37d31ae7b7feeb6403f24280ef4 (diff) | |
| download | cgeo-c263e8ce383ce04cab3dcaa70af1cca867787b13.zip cgeo-c263e8ce383ce04cab3dcaa70af1cca867787b13.tar.gz cgeo-c263e8ce383ce04cab3dcaa70af1cca867787b13.tar.bz2 | |
Check that a position and an orientation are always immediately available
| -rw-r--r-- | tests/src/cgeo/geocaching/sensors/SensorsTest.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/sensors/SensorsTest.java b/tests/src/cgeo/geocaching/sensors/SensorsTest.java index b54cd13..6cedf50 100644 --- a/tests/src/cgeo/geocaching/sensors/SensorsTest.java +++ b/tests/src/cgeo/geocaching/sensors/SensorsTest.java @@ -5,10 +5,16 @@ import static org.assertj.core.api.Assertions.assertThat; import cgeo.geocaching.MainActivity; import cgeo.geocaching.utils.AngleUtils; +import rx.Observable; + import android.test.ActivityInstrumentationTestCase2; +import java.util.concurrent.TimeUnit; + public class SensorsTest extends ActivityInstrumentationTestCase2<MainActivity> { + private Sensors sensors; + public SensorsTest() { super(MainActivity.class); } @@ -16,6 +22,7 @@ public class SensorsTest extends ActivityInstrumentationTestCase2<MainActivity> @Override protected void setUp() throws Exception { super.setUp(); + sensors = Sensors.getInstance(); } public static void testGetDirectionNow() { @@ -23,4 +30,21 @@ public class SensorsTest extends ActivityInstrumentationTestCase2<MainActivity> assertThat(angle == 1.0f || angle == 91.0f || angle == 181.0f || angle == 271.0f).isTrue(); } + private static <T> void testDataAvailability(final Observable<T> observable) { + try { + observable.timeout(200, TimeUnit.MILLISECONDS).first().toBlocking().single(); + } catch (final Exception ignored) { + fail("timeout while waiting for sensor data"); + } + } + + public void testDirectionObservable() { + testDataAvailability(sensors.directionObservable()); + } + + public void testGeodataObservable() { + testDataAvailability(sensors.geoDataObservable(false)); + testDataAvailability(sensors.geoDataObservable(true)); + } + } |
