1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.mediaroutertest; 18 19 import static org.junit.Assert.assertEquals; 20 import static org.junit.Assert.assertNotEquals; 21 22 import android.media.RoutingSessionInfo; 23 24 import androidx.test.filters.SmallTest; 25 import androidx.test.runner.AndroidJUnit4; 26 27 import org.junit.Test; 28 import org.junit.runner.RunWith; 29 30 /** 31 * Tests {@link RoutingSessionInfo} and its {@link RoutingSessionInfo.Builder builder}. 32 */ 33 @RunWith(AndroidJUnit4.class) 34 @SmallTest 35 public class RoutingSessionInfoTest { 36 public static final String TEST_ID = "test_id"; 37 public static final String TEST_CLIENT_PACKAGE_NAME = "com.test.client.package.name"; 38 public static final String TEST_NAME = "test_name"; 39 40 public static final String TEST_ROUTE_ID_0 = "test_route_type_0"; 41 public static final String TEST_ROUTE_ID_2 = "test_route_type_2"; 42 public static final String TEST_ROUTE_ID_4 = "test_route_type_4"; 43 public static final String TEST_ROUTE_ID_6 = "test_route_type_6"; 44 45 public static final String TEST_PROVIDER_ID = "test_provider_id"; 46 public static final String TEST_OTHER_PROVIDER_ID = "test_other_provider_id"; 47 48 // Tests if route IDs are changed properly according to provider ID. 49 @Test testProviderId()50 public void testProviderId() { 51 RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder( 52 TEST_ID, TEST_CLIENT_PACKAGE_NAME) 53 .setName(TEST_NAME) 54 .addSelectedRoute(TEST_ROUTE_ID_0) 55 .addSelectableRoute(TEST_ROUTE_ID_2) 56 .addDeselectableRoute(TEST_ROUTE_ID_4) 57 .addTransferableRoute(TEST_ROUTE_ID_6) 58 .build(); 59 60 RoutingSessionInfo sessionInfoWithProviderId = new RoutingSessionInfo.Builder(sessionInfo) 61 .setProviderId(TEST_PROVIDER_ID).build(); 62 63 assertNotEquals(sessionInfo.getSelectedRoutes(), 64 sessionInfoWithProviderId.getSelectedRoutes()); 65 assertNotEquals(sessionInfo.getSelectableRoutes(), 66 sessionInfoWithProviderId.getSelectableRoutes()); 67 assertNotEquals(sessionInfo.getDeselectableRoutes(), 68 sessionInfoWithProviderId.getDeselectableRoutes()); 69 assertNotEquals(sessionInfo.getTransferableRoutes(), 70 sessionInfoWithProviderId.getTransferableRoutes()); 71 72 RoutingSessionInfo sessionInfoWithOtherProviderId = 73 new RoutingSessionInfo.Builder(sessionInfoWithProviderId) 74 .setProviderId(TEST_OTHER_PROVIDER_ID).build(); 75 76 assertNotEquals(sessionInfoWithOtherProviderId.getSelectedRoutes(), 77 sessionInfoWithProviderId.getSelectedRoutes()); 78 assertNotEquals(sessionInfoWithOtherProviderId.getSelectableRoutes(), 79 sessionInfoWithProviderId.getSelectableRoutes()); 80 assertNotEquals(sessionInfoWithOtherProviderId.getDeselectableRoutes(), 81 sessionInfoWithProviderId.getDeselectableRoutes()); 82 assertNotEquals(sessionInfoWithOtherProviderId.getTransferableRoutes(), 83 sessionInfoWithProviderId.getTransferableRoutes()); 84 85 RoutingSessionInfo sessionInfoWithProviderId2 = 86 new RoutingSessionInfo.Builder(sessionInfoWithProviderId).build(); 87 88 assertEquals(sessionInfoWithProviderId2.getSelectedRoutes(), 89 sessionInfoWithProviderId.getSelectedRoutes()); 90 assertEquals(sessionInfoWithProviderId2.getSelectableRoutes(), 91 sessionInfoWithProviderId.getSelectableRoutes()); 92 assertEquals(sessionInfoWithProviderId2.getDeselectableRoutes(), 93 sessionInfoWithProviderId.getDeselectableRoutes()); 94 assertEquals(sessionInfoWithProviderId2.getTransferableRoutes(), 95 sessionInfoWithProviderId.getTransferableRoutes()); 96 } 97 } 98