aboutsummaryrefslogtreecommitdiff
path: root/tests/common/src/com/android/tv/testing/ChannelNumberSubject.java
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2018-08-06 16:51:26 -0700
committerXin Li <delphij@google.com>2018-08-06 16:51:26 -0700
commitaca265722281fe082995a71fd35401f766afac3e (patch)
tree28eac0d8752df3b094f50103a9ebb6d6340f4cc8 /tests/common/src/com/android/tv/testing/ChannelNumberSubject.java
parent5fdc24aa6cc0acfd6a2d5939862e6edbe14f1ef6 (diff)
parentc56e1892201e0b31f3043e37a32d779b4055cb34 (diff)
downloadTV-aca265722281fe082995a71fd35401f766afac3e.tar.gz
Bug: 112104996 Change-Id: Iec32f622f0bb1bc1583aefcbf6d115ad05baa693
Diffstat (limited to 'tests/common/src/com/android/tv/testing/ChannelNumberSubject.java')
-rw-r--r--tests/common/src/com/android/tv/testing/ChannelNumberSubject.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/common/src/com/android/tv/testing/ChannelNumberSubject.java b/tests/common/src/com/android/tv/testing/ChannelNumberSubject.java
new file mode 100644
index 00000000..ba4662ee
--- /dev/null
+++ b/tests/common/src/com/android/tv/testing/ChannelNumberSubject.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2017 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 com.android.tv.testing;
+
+import android.support.annotation.Nullable;
+import com.android.tv.data.ChannelNumber;
+import com.google.common.truth.ComparableSubject;
+import com.google.common.truth.FailureMetadata;
+import com.google.common.truth.Subject;
+import com.google.common.truth.Truth;
+
+/** Propositions for {@link ChannelNumber} subjects. */
+public final class ChannelNumberSubject
+ extends ComparableSubject<ChannelNumberSubject, ChannelNumber> {
+ private static final Subject.Factory<ChannelNumberSubject, ChannelNumber> FACTORY =
+ ChannelNumberSubject::new;
+
+ public static Subject.Factory<ChannelNumberSubject, ChannelNumber> channelNumbers() {
+ return FACTORY;
+ }
+
+ public static ChannelNumberSubject assertThat(@Nullable ChannelNumber actual) {
+ return Truth.assertAbout(channelNumbers()).that(actual);
+ }
+
+ public ChannelNumberSubject(FailureMetadata failureMetadata, @Nullable ChannelNumber subject) {
+ super(failureMetadata, subject);
+ }
+
+ public void displaysAs(int major) {
+ if (!getSubject().majorNumber.equals(Integer.toString(major))
+ || getSubject().hasDelimiter) {
+ fail("displaysAs", major);
+ }
+ }
+
+ public void displaysAs(int major, int minor) {
+ if (!getSubject().majorNumber.equals(Integer.toString(major))
+ || !getSubject().minorNumber.equals(Integer.toString(minor))
+ || !getSubject().hasDelimiter) {
+ fail("displaysAs", major + "-" + minor);
+ }
+ }
+
+ public void isEmpty() {
+ if (!getSubject().majorNumber.isEmpty()
+ || !getSubject().minorNumber.isEmpty()
+ || getSubject().hasDelimiter) {
+ fail("isEmpty");
+ }
+ }
+}