diff options
Diffstat (limited to 'tests/common/src/com/android/tv/testing/EpgTestData.java')
-rw-r--r-- | tests/common/src/com/android/tv/testing/EpgTestData.java | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/tests/common/src/com/android/tv/testing/EpgTestData.java b/tests/common/src/com/android/tv/testing/EpgTestData.java deleted file mode 100644 index 87bfb4ed..00000000 --- a/tests/common/src/com/android/tv/testing/EpgTestData.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * 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 com.android.tv.data.Channel; -import com.android.tv.data.Lineup; -import com.android.tv.data.Program; -import com.google.common.base.Function; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableListMultimap; -import com.google.common.collect.Iterables; -import com.google.common.collect.ListMultimap; -import java.util.concurrent.TimeUnit; - -/** EPG data for use in tests. */ -public abstract class EpgTestData { - - public static final android.support.media.tv.Channel CHANNEL_10 = - new android.support.media.tv.Channel.Builder() - .setDisplayName("Channel TEN") - .setDisplayNumber("10") - .build(); - public static final android.support.media.tv.Channel CHANNEL_11 = - new android.support.media.tv.Channel.Builder() - .setDisplayName("Channel Eleven") - .setDisplayNumber("11") - .build(); - public static final android.support.media.tv.Channel CHANNEL_90_2 = - new android.support.media.tv.Channel.Builder() - .setDisplayName("Channel Ninety dot Two") - .setDisplayNumber("90.2") - .build(); - - public static final Lineup LINEUP_1 = - new Lineup( - "lineup1", - Lineup.LINEUP_SATELLITE, - "Lineup one", - "Location one", - ImmutableList.of("1", "2.2")); - public static final Lineup LINEUP_2 = - new Lineup( - "lineup2", - Lineup.LINEUP_SATELLITE, - "Lineup two", - "Location two", - ImmutableList.of("1", "2.3")); - - public static final Lineup LINEUP_90210 = - new Lineup( - "test90210", - Lineup.LINEUP_BROADCAST_DIGITAL, - "Test 90210", - "Beverly Hills", - ImmutableList.of("90.2", "10")); - - // Programs start and end times are set relative to 0. - // Then when loaded they are offset by the {@link #getStartTimeMs}. - // Start and end time may be negative meaning they happen before "now". - - public static final Program PROGRAM_1 = - new Program.Builder() - .setTitle("Program 1") - .setStartTimeUtcMillis(0) - .setEndTimeUtcMillis(TimeUnit.MINUTES.toMillis(30)) - .build(); - - public static final Program PROGRAM_2 = - new Program.Builder() - .setTitle("Program 2") - .setStartTimeUtcMillis(TimeUnit.MINUTES.toMillis(30)) - .setEndTimeUtcMillis(TimeUnit.MINUTES.toMillis(60)) - .build(); - - public static final EpgTestData DATA_90210 = - new EpgTestData() { - - // Thursday, June 1, 2017 4:00:00 PM GMT-07:00 - private final long testStartTimeMs = 1496358000000L; - - @Override - public ListMultimap<String, Lineup> getLineups() { - ImmutableListMultimap.Builder<String, Lineup> builder = - ImmutableListMultimap.builder(); - return builder.putAll("90210", LINEUP_1, LINEUP_2, LINEUP_90210).build(); - } - - @Override - public ListMultimap<String, Channel> getLineupChannels() { - ImmutableListMultimap.Builder<String, Channel> builder = - ImmutableListMultimap.builder(); - return builder.putAll( - LINEUP_90210.getId(), toTvChannels(CHANNEL_90_2, CHANNEL_10)) - .putAll(LINEUP_1.getId(), toTvChannels(CHANNEL_10, CHANNEL_11)) - .build(); - } - - @Override - public ListMultimap<String, Program> getEpgPrograms() { - ImmutableListMultimap.Builder<String, Program> builder = - ImmutableListMultimap.builder(); - return builder.putAll( - CHANNEL_10.getDisplayNumber(), - EpgTestData.updateTime(getStartTimeMs(), PROGRAM_1)) - .putAll( - CHANNEL_11.getDisplayNumber(), - EpgTestData.updateTime(getStartTimeMs(), PROGRAM_2)) - .build(); - } - - @Override - public long getStartTimeMs() { - return testStartTimeMs; - } - }; - - public abstract ListMultimap<String, Lineup> getLineups(); - - public abstract ListMultimap<String, Channel> getLineupChannels(); - - public abstract ListMultimap<String, Program> getEpgPrograms(); - - /** The starting time for this test data */ - public abstract long getStartTimeMs(); - - /** - * Loads test data - * - * <p> - * - * <ul> - * <li>Sets clock to {@link #getStartTimeMs()} and boot time to 12 hours before that - * <li>Loads lineups - * <li>Loads lineupChannels - * <li>Loads epgPrograms - * </ul> - */ - public final void loadData(FakeClock clock, FakeEpgReader epgReader) { - clock.setBootTimeMillis(getStartTimeMs() + TimeUnit.HOURS.toMillis(-12)); - clock.setCurrentTimeMillis(getStartTimeMs()); - epgReader.zip2lineups.putAll(getLineups()); - epgReader.lineup2Channels.putAll(getLineupChannels()); - epgReader.epgChannelId2Programs.putAll(getEpgPrograms()); - } - - public final void loadData(TestSingletonApp testSingletonApp) { - loadData(testSingletonApp.fakeClock, testSingletonApp.epgReader); - } - - private static Iterable<Channel> toTvChannels(android.support.media.tv.Channel... channels) { - return Iterables.transform( - ImmutableList.copyOf(channels), - new Function<android.support.media.tv.Channel, Channel>() { - @Override - public Channel apply(android.support.media.tv.Channel original) { - return toTvChannel(original); - } - }); - } - - public static Channel toTvChannel(android.support.media.tv.Channel original) { - return new Channel.Builder() - .setDisplayName(original.getDisplayName()) - .setDisplayNumber(original.getDisplayNumber()) - // TODO implement the reset - .build(); - } - - /** Add time to the startTime and stopTime of each program */ - private static Iterable<Program> updateTime(long time, Program... programs) { - return Iterables.transform( - ImmutableList.copyOf(programs), - new Function<Program, Program>() { - @Override - public Program apply(Program p) { - return new Program.Builder(p) - .setStartTimeUtcMillis(p.getStartTimeUtcMillis() + time) - .setEndTimeUtcMillis(p.getEndTimeUtcMillis() + time) - .build(); - } - }); - } -} |