-
Notifications
You must be signed in to change notification settings - Fork 162
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
android sdk and sources updated to rx3
- Loading branch information
Erkki Silvola
committed
Apr 20, 2020
1 parent
79c84fa
commit 3d0f413
Showing
41 changed files
with
1,832 additions
and
3,289 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
565 changes: 160 additions & 405 deletions
565
...-android/androidBleSdkTestApp/app/src/main/java/polar/com/androidblesdk/MainActivity.java
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
178 changes: 178 additions & 0 deletions
178
...-communications/src/androidTest/java/com/androidcommunications/polar/InstrumentedTests.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
package com.androidcommunications.polar | ||
|
||
import android.content.Context | ||
import androidx.test.InstrumentationRegistry | ||
import androidx.test.runner.AndroidJUnit4 | ||
import com.androidcommunications.polar.api.ble.model.BleDeviceSession | ||
import com.androidcommunications.polar.enpoints.ble.bluedroid.host.BDDeviceSessionImpl | ||
import com.androidcommunications.polar.enpoints.ble.bluedroid.host.connection.ConnectionHandler | ||
import com.androidcommunications.polar.enpoints.ble.bluedroid.host.connection.ConnectionHandlerObserver | ||
import com.androidcommunications.polar.enpoints.ble.bluedroid.host.connection.ConnectionInterface | ||
import com.androidcommunications.polar.enpoints.ble.bluedroid.host.connection.ScannerInterface | ||
import org.junit.Before | ||
import org.junit.Test | ||
import org.junit.runner.RunWith | ||
|
||
import io.mockk.impl.annotations.MockK | ||
import junit.framework.TestCase | ||
|
||
@RunWith(AndroidJUnit4::class) | ||
class InstrumentedTests { | ||
|
||
private lateinit var targetContext: Context | ||
private lateinit var connectionHandler: ConnectionHandler | ||
|
||
@MockK | ||
private lateinit var connectionInterface: ConnectionInterface | ||
|
||
@MockK | ||
private lateinit var scannerInterface: ScannerInterface | ||
|
||
@MockK | ||
private lateinit var connectionHandlerObserver: ConnectionHandlerObserver | ||
|
||
@Before | ||
fun setUp() { | ||
targetContext = InstrumentationRegistry.getInstrumentation().targetContext | ||
connectionHandler = ConnectionHandler(targetContext, connectionInterface, scannerInterface, connectionHandlerObserver) | ||
} | ||
|
||
@Test | ||
fun testConnectionHandler_1() { | ||
val bleDeviceSession = BDDeviceSessionImpl() | ||
connectionHandler.connectDevice(bleDeviceSession, true) | ||
connectionHandler.deviceConnected(bleDeviceSession) | ||
TestCase.assertSame(bleDeviceSession.sessionState, BleDeviceSession.DeviceSessionState.SESSION_OPEN) | ||
} | ||
|
||
@Test | ||
fun testConnectionHandler_2() { | ||
val bleDeviceSession = BDDeviceSessionImpl() | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.deviceConnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
} | ||
|
||
@Test | ||
fun testConnectionHandler_3() { | ||
val bleDeviceSession = BDDeviceSessionImpl() | ||
val bleDeviceSession2 = BDDeviceSessionImpl() | ||
|
||
// multi connections | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
connectionHandler.connectDevice(bleDeviceSession2, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.deviceConnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.deviceConnected(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
|
||
// multi disconnection | ||
connectionHandler.disconnectDevice(bleDeviceSession); | ||
connectionHandler.disconnectDevice(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.deviceDisconnected(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
|
||
// multi connect / disconnect | ||
bleDeviceSession2.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
connectionHandler.disconnectDevice(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.deviceConnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.deviceDisconnected(bleDeviceSession2); | ||
|
||
// maintaining multi connections | ||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
bleDeviceSession2.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
connectionHandler.deviceDisconnected(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession); | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.deviceConnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.deviceConnected(bleDeviceSession2); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
TestCase.assertSame(bleDeviceSession2.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
|
||
// same state tests | ||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.deviceConnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
|
||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
connectionHandler.disconnectDevice(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.disconnectDevice(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.disconnectDevice(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
|
||
// | ||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
// TODO nonConnectable[0] = true; | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
// TODO nonConnectable[0] = false; | ||
connectionHandler.advertisementHeadReceived(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPENING); | ||
connectionHandler.deviceConnected(bleDeviceSession); | ||
|
||
// | ||
connectionHandler.disconnectDevice(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSING); | ||
connectionHandler.connectDevice(bleDeviceSession, true); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
|
||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
connectionHandler.connectDevice(bleDeviceSession, false); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
|
||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.setAutomaticReconnection(false); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_CLOSED); | ||
bleDeviceSession.setSessionState(BleDeviceSession.DeviceSessionState.SESSION_OPEN); | ||
connectionHandler.setAutomaticReconnection(true); | ||
connectionHandler.deviceDisconnected(bleDeviceSession); | ||
TestCase.assertSame(bleDeviceSession.getSessionState(), BleDeviceSession.DeviceSessionState.SESSION_OPEN_PARK); | ||
} | ||
} |
Oops, something went wrong.