Skip to content

Commit d5d803c

Browse files
Add unit tests for isHMIStateVideoStreamCapable()
1 parent 261a341 commit d5d803c

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/video/VideoStreamManagerTests.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
2525
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
2626
import com.smartdevicelink.proxy.rpc.enums.TouchType;
27+
import com.smartdevicelink.proxy.rpc.enums.VideoStreamingState;
2728
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
2829
import com.smartdevicelink.streaming.video.SdlRemoteDisplay;
2930
import com.smartdevicelink.streaming.video.VideoStreamingParameters;
@@ -496,4 +497,39 @@ private void assertMotionEventWithScale(int width, int height, float scale) {
496497
assertEquals(Math.round(e1x / scale), Math.round(motionEvent.getX(0)));
497498
assertEquals(Math.round(e1y / scale), Math.round(motionEvent.getY(0)));
498499
}
500+
501+
public void testIsHMIStateVideoStreamCapable() {
502+
VideoStreamManager videoStreamManager = new VideoStreamManager(mock(ISdl.class));
503+
504+
// Case 1 (VideoStreamingState = STREAMABLE)
505+
assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_FULL, VideoStreamingState.STREAMABLE)));
506+
assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_LIMITED, VideoStreamingState.STREAMABLE)));
507+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_BACKGROUND, VideoStreamingState.STREAMABLE)));
508+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_NONE, VideoStreamingState.STREAMABLE)));
509+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(null, VideoStreamingState.STREAMABLE)));
510+
511+
// Case 2 (VideoStreamingState = NOT_STREAMABLE)
512+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_FULL, VideoStreamingState.NOT_STREAMABLE)));
513+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_LIMITED, VideoStreamingState.NOT_STREAMABLE)));
514+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_BACKGROUND, VideoStreamingState.NOT_STREAMABLE)));
515+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_NONE, VideoStreamingState.NOT_STREAMABLE)));
516+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(null, VideoStreamingState.NOT_STREAMABLE)));
517+
518+
// Case 3 (VideoStreamingState = NULL)
519+
assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_FULL, null)));
520+
assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_LIMITED, null)));
521+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_BACKGROUND, null)));
522+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_NONE, null)));
523+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(null, null)));
524+
525+
// Case 4 (onHMIStatus = NULL)
526+
assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(null));
527+
}
528+
529+
private OnHMIStatus createOnHMIStatus(HMILevel hmiLevel, VideoStreamingState videoStreamingState) {
530+
OnHMIStatus onHMIStatus = new OnHMIStatus();
531+
onHMIStatus.setHmiLevel(hmiLevel);
532+
onHMIStatus.setVideoStreamingState(videoStreamingState);
533+
return onHMIStatus;
534+
}
499535
}

0 commit comments

Comments
 (0)