blob: b892edec20511d0d08311b6d251f080c12e7034c [file] [log] [blame]
/*
* Copyright (C) 2015 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.telecom.cts;
import static android.telecom.Call.Details.*;
import android.telecom.Call;
import android.test.AndroidTestCase;
public class CallTest extends AndroidTestCase {
public void testCapabilitiesCan() {
assertTrue(Call.Details.can(CAPABILITY_HOLD, CAPABILITY_HOLD));
assertTrue(Call.Details.can(CAPABILITY_MUTE, CAPABILITY_MUTE));
assertTrue(Call.Details.can(CAPABILITY_HOLD | CAPABILITY_DISCONNECT_FROM_CONFERENCE,
CAPABILITY_HOLD));
assertTrue(Call.Details.can(CAPABILITY_MERGE_CONFERENCE
| CAPABILITY_DISCONNECT_FROM_CONFERENCE | CAPABILITY_MUTE,
CAPABILITY_MUTE));
assertTrue(Call.Details.can(CAPABILITY_CAN_PAUSE_VIDEO, CAPABILITY_CAN_PAUSE_VIDEO));
assertTrue(Call.Details.can(CAPABILITY_CAN_PULL_CALL, CAPABILITY_CAN_PULL_CALL));
assertFalse(Call.Details.can(CAPABILITY_MUTE, CAPABILITY_HOLD));
assertFalse(Call.Details.can(CAPABILITY_MERGE_CONFERENCE
| CAPABILITY_DISCONNECT_FROM_CONFERENCE | CAPABILITY_MUTE,
CAPABILITY_HOLD));
}
public void testCapabilitiesToString() {
assertEquals("[Capabilities: CAPABILITY_HOLD]",
Call.Details.capabilitiesToString(CAPABILITY_HOLD));
assertEquals("[Capabilities: CAPABILITY_SUPPORT_HOLD]",
Call.Details.capabilitiesToString(CAPABILITY_SUPPORT_HOLD));
assertEquals("[Capabilities: CAPABILITY_MERGE_CONFERENCE]",
Call.Details.capabilitiesToString(CAPABILITY_MERGE_CONFERENCE));
assertEquals("[Capabilities: CAPABILITY_SWAP_CONFERENCE]",
Call.Details.capabilitiesToString(CAPABILITY_SWAP_CONFERENCE));
assertEquals("[Capabilities: CAPABILITY_RESPOND_VIA_TEXT]",
Call.Details.capabilitiesToString(CAPABILITY_RESPOND_VIA_TEXT));
assertEquals("[Capabilities: CAPABILITY_MUTE]",
Call.Details.capabilitiesToString(CAPABILITY_MUTE));
assertEquals("[Capabilities: CAPABILITY_MANAGE_CONFERENCE]",
Call.Details.capabilitiesToString(CAPABILITY_MANAGE_CONFERENCE));
final int capabilities = CAPABILITY_SUPPORTS_VT_LOCAL_RX
| CAPABILITY_SUPPORTS_VT_LOCAL_TX
| CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL
| CAPABILITY_SUPPORTS_VT_REMOTE_RX
| CAPABILITY_SUPPORTS_VT_REMOTE_TX
| CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL
| CAPABILITY_CAN_PAUSE_VIDEO;
assertEquals("[Capabilities: "
+ "CAPABILITY_SUPPORTS_VT_LOCAL_RX "
+ "CAPABILITY_SUPPORTS_VT_LOCAL_TX "
+ "CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL "
+ "CAPABILITY_SUPPORTS_VT_REMOTE_RX "
+ "CAPABILITY_SUPPORTS_VT_REMOTE_TX "
+ "CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL "
+ "CAPABILITY_CAN_PAUSE_VIDEO"
+ "]",
Call.Details.capabilitiesToString(capabilities));
}
public void testHasProperty() {
assertTrue(Call.Details.hasProperty(PROPERTY_WIFI, PROPERTY_WIFI));
assertTrue(Call.Details.hasProperty(PROPERTY_HIGH_DEF_AUDIO, PROPERTY_HIGH_DEF_AUDIO));
assertTrue(Call.Details.hasProperty(PROPERTY_HIGH_DEF_AUDIO | PROPERTY_CONFERENCE
| PROPERTY_WIFI, PROPERTY_CONFERENCE));
assertTrue(Call.Details.hasProperty(PROPERTY_IS_EXTERNAL_CALL, PROPERTY_IS_EXTERNAL_CALL));
assertFalse(Call.Details.hasProperty(PROPERTY_WIFI, PROPERTY_CONFERENCE));
assertFalse(Call.Details.hasProperty(PROPERTY_HIGH_DEF_AUDIO | PROPERTY_CONFERENCE
| PROPERTY_WIFI, PROPERTY_GENERIC_CONFERENCE));
}
public void testPropertiesToString() {
assertEquals("[Properties: PROPERTY_CONFERENCE]",
Call.Details.propertiesToString(PROPERTY_CONFERENCE));
assertEquals("[Properties: PROPERTY_GENERIC_CONFERENCE]",
Call.Details.propertiesToString(PROPERTY_GENERIC_CONFERENCE));
assertEquals("[Properties: PROPERTY_EMERGENCY_CALLBACK_MODE]",
Call.Details.propertiesToString(PROPERTY_EMERGENCY_CALLBACK_MODE));
assertEquals("[Properties: PROPERTY_WIFI]",
Call.Details.propertiesToString(PROPERTY_WIFI));
assertEquals("[Properties: PROPERTY_HIGH_DEF_AUDIO]",
Call.Details.propertiesToString(PROPERTY_HIGH_DEF_AUDIO));
final int properties = PROPERTY_CONFERENCE
| PROPERTY_WIFI
| PROPERTY_HIGH_DEF_AUDIO;
assertEquals("[Properties: "
+ "PROPERTY_CONFERENCE "
+ "PROPERTY_WIFI "
+ "PROPERTY_HIGH_DEF_AUDIO"
+ "]",
Call.Details.propertiesToString(properties));
}
}