blob: 13212ce8e84e96fe59eb83709f6916bc494a0cd2 [file] [log] [blame]
/*
* Copyright (C) 2018 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.hardware.hdmi;
import static com.google.common.truth.Truth.assertThat;
import android.platform.test.annotations.Presubmit;
import androidx.test.filters.SmallTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
/**
* Tests for {@link HdmiUtils}.
*/
@Presubmit
@RunWith(JUnit4.class)
@SmallTest
public class HdmiUtilsTest {
@Test
public void testInvalidAddress() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0, -1))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_UNKNOWN);
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0xFFFF, 0xFFFF))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_UNKNOWN);
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0xFFFFF, 0))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_UNKNOWN);
}
@Test
public void testSameAddress() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x1000, 0x1000))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_SAME);
}
@Test
public void testDirectlyAbove() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x1000, 0x1200))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIRECTLY_ABOVE);
}
@Test
public void testDirectlyAbove_rootDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x0000, 0x2000))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIRECTLY_ABOVE);
}
@Test
public void testDirectlyAbove_leafDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x1240, 0x1245))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIRECTLY_ABOVE);
}
@Test
public void testAbove() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x1000, 0x1210))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_ABOVE);
}
@Test
public void testAbove_rootDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x0000, 0x1200))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_ABOVE);
}
@Test
public void testDirectlyBelow() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x2250, 0x2200))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIRECTLY_BELOW);
}
@Test
public void testDirectlyBelow_rootDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x5000, 0x0000))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIRECTLY_BELOW);
}
@Test
public void testDirectlyBelow_leafDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x3249, 0x3240))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIRECTLY_BELOW);
}
@Test
public void testBelow() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x5143, 0x5100))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_BELOW);
}
@Test
public void testBelow_rootDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x3420, 0x0000))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_BELOW);
}
@Test
public void testSibling() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x4000, 0x5000))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_SIBLING);
}
@Test
public void testSibling_leafDevice() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x798A, 0x798F))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_SIBLING);
}
@Test
public void testDifferentBranch() {
assertThat(HdmiUtils.getHdmiAddressRelativePosition(0x798A, 0x7970))
.isEqualTo(HdmiUtils.HDMI_RELATIVE_POSITION_DIFFERENT_BRANCH);
}
@Test
public void isValidPysicalAddress_true() {
assertThat(HdmiUtils.isValidPhysicalAddress(0)).isTrue();
assertThat(HdmiUtils.isValidPhysicalAddress(0xFFFE)).isTrue();
assertThat(HdmiUtils.isValidPhysicalAddress(0x1200)).isTrue();
}
@Test
public void isValidPysicalAddress_outOfRange() {
assertThat(HdmiUtils.isValidPhysicalAddress(-1)).isFalse();
assertThat(HdmiUtils.isValidPhysicalAddress(0xFFFF)).isFalse();
assertThat(HdmiUtils.isValidPhysicalAddress(0x10000)).isFalse();
}
@Test
public void isValidPysicalAddress_nonTrailingZeros() {
assertThat(HdmiUtils.isValidPhysicalAddress(0x0001)).isFalse();
assertThat(HdmiUtils.isValidPhysicalAddress(0x0213)).isFalse();
}
}