    @RequiresApi(api = Build.VERSION_CODES.M)
    @Test
    public void testProgramConversion() {

        // Tests that a RecordedProgram can be converted to a Program and back to a RecordedProgram
        RecordedProgram sampleRecordedProgram = new RecordedProgram.Builder()
                .setAudioLanguages("en-us")
                .setBroadcastGenres(new String[]{"Sports"})
                .setCanonicalGenres(new String[]{TvContract.Programs.Genres.ANIMAL_WILDLIFE})
                .setContentRatings(new TvContentRating[]{TvContentRating.UNRATED})
                .setEpisodeTitle("Sample Episode")
                .setInputId(TEST_INPUT_ID)
                .setTitle("Sample Title")
                .setSearchable(false)
                .setStartTimeUtcMillis(0)
                .setEndTimeUtcMillis(1000)
                .setSeasonTitle("First Season")
                .setSeasonDisplayNumber("1", 1)
                .setVideoHeight(1080)
                .setVideoWidth(1920)
                .build();

        Program sampleProgram = sampleRecordedProgram.toProgram();
        RecordedProgram clonedSampleRecordedProgram = new RecordedProgram.Builder(sampleProgram)
                .setInputId(TEST_INPUT_ID)
                .build();
        compareRecordedProgram(sampleRecordedProgram, clonedSampleRecordedProgram);
    }