Kore/app/src/test/java/org/xbmc/kore/provider/mediaprovider/TestValues.java

235 lines
12 KiB
Java

/*
* Copyright 2016 Martijn Brekhof. All rights reserved.
*
* 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 org.xbmc.kore.provider.mediaprovider;
import android.database.Cursor;
import org.xbmc.kore.provider.MediaContract;
import static org.junit.Assert.assertEquals;
public class TestValues {
public static class Artist {
public static int artistId = 13;
public static String artist = "Bernstein, Charles";
public static String[] PROJECTION = MediaContract.Artists.ALL_COLUMNS;
public static void test(Cursor cursor) {
assertEquals(TestValues.Artist.artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.ArtistsColumns.ARTISTID)));
assertEquals(TestValues.Artist.artist, cursor.getString(cursor.getColumnIndex(MediaContract.ArtistsColumns.ARTIST)));
}
}
public static class Album {
public static int albumId = 13;
public static String title = "The Entity";
public static String displayArtist = "Bernstein, Charles";
public static int year = 1982;
public static String genre = "Soundtrack";
public static String[] PROJECTION = MediaContract.Albums.ALL_COLUMNS;
public static void test(Cursor cursor) {
int resultAlbumId = cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumsColumns.ALBUMID));
assertEquals(albumId, resultAlbumId);
String resultTitle = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.TITLE));
assertEquals(title, resultTitle);
String resultArtist = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.DISPLAYARTIST));
assertEquals(displayArtist, resultArtist);
String resultGenre = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.GENRE));
assertEquals(genre, resultGenre);
int resultYear = cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumsColumns.YEAR));
assertEquals(year, resultYear);
}
}
public static class AlbumWithoutArtist {
public static int albumId = 82;
public static String title = "The Album";
public static String displayArtist = "";
public static int year = 0;
public static String genre = "";
public static String[] PROJECTION = MediaContract.Albums.ALL_COLUMNS;
public static void test(Cursor cursor) {
int resultAlbumId = cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumsColumns.ALBUMID));
assertEquals(albumId, resultAlbumId);
String resultTitle = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.TITLE));
assertEquals(title, resultTitle);
String resultArtist = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.DISPLAYARTIST));
assertEquals(displayArtist, resultArtist);
String resultGenre = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.GENRE));
assertEquals(genre, resultGenre);
int resultYear = cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumsColumns.YEAR));
assertEquals(year, resultYear);
}
}
public static class AlbumWithMultipleArtists {
public static int albumId = 234;
public static String title = "ThreeArtistsAlbum";
public static String displayArtist = "First artist / Second artist / Third artist";
public static int year = 0;
public static String genre = "";
public static String[] PROJECTION = MediaContract.Albums.ALL_COLUMNS;
public static void test(Cursor cursor) {
int resultAlbumId = cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumsColumns.ALBUMID));
assertEquals(albumId, resultAlbumId);
String resultTitle = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.TITLE));
assertEquals(title, resultTitle);
String resultArtist = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.DISPLAYARTIST));
assertEquals(displayArtist, resultArtist);
String resultGenre = cursor.getString(cursor.getColumnIndex(MediaContract.AlbumsColumns.GENRE));
assertEquals(genre, resultGenre);
int resultYear = cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumsColumns.YEAR));
assertEquals(year, resultYear);
}
}
public static class AlbumWithVariousArtists {
public static int artistId = 229;
public static int albumId = 235;
public static String title = "Various Artists Album";
public static String displayArtist = "Various artists";
public static String[] PROJECTION = new String[] {MediaContract.Albums.DISPLAYARTIST,
MediaContract.Albums.ALBUMID,
MediaContract.Albums.TITLE,
MediaContract.AlbumArtists.ARTISTID};
public static void test(Cursor cursor) {
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Albums.ALBUMID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Albums.TITLE)));
assertEquals(displayArtist, cursor.getString(cursor.getColumnIndex(MediaContract.Albums.DISPLAYARTIST)));
assertEquals(artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumArtists.ARTISTID)));
}
}
public static class AlbumWithVariousArtistsNoSongArtists {
public static int artistId = 229;
public static int albumId = 236;
public static String title = "Various Artists Album No Song Artist";
public static String displayArtist = "Various artists";
public static String[] PROJECTION = AlbumWithVariousArtists.PROJECTION;
public static void test(Cursor cursor) {
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Albums.ALBUMID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Albums.TITLE)));
assertEquals(displayArtist, cursor.getString(cursor.getColumnIndex(MediaContract.Albums.DISPLAYARTIST)));
assertEquals(artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.AlbumArtists.ARTISTID)));
}
}
public static class ArtistSong {
public static int songId = 96;
public static int artistId = Artist.artistId;
public static int albumId = Album.albumId;
public static String title = "Intro & Main Title";
public static String displayArtist = "Bernstein, Charles";
public static String[] PROJECTION = new String[] {MediaContract.Songs.SONGID,
MediaContract.Songs.TITLE,
MediaContract.Songs.ALBUMID,
MediaContract.Songs.DISPLAYARTIST,
MediaContract.SongArtists.ARTISTID,
MediaContract.AlbumArtists.ARTISTID };
public static void test(Cursor cursor) {
assertEquals(songId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.SONGID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.TITLE)));
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.ALBUMID)));
assertEquals(artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.SongArtists.ARTISTID)));
}
}
public static class SongWithAlbumAndArtist {
public static int songId = 1487;
public static int artistId = 195;
public static int albumId = 201;
public static String title = "The Lone Ranger (William Tell Overture)";
public static String displayartist = "ABC Orch";
public static String[] PROJECTION = ArtistSong.PROJECTION;
public static void test(Cursor cursor) {
assertEquals(songId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.SONGID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.TITLE)));
assertEquals(displayartist, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.DISPLAYARTIST)));
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.ALBUMID)));
assertEquals(artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.SongArtists.ARTISTID)));
}
}
public static class SongWithAlbumWithoutArtist {
public static int songId = 1219;
public static int artistId = 0;
public static String title = "Unknown";
public static int albumId = 82;
public static String[] PROJECTION = ArtistSong.PROJECTION;
public static void test(Cursor cursor) {
assertEquals(songId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.SONGID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.TITLE)));
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.ALBUMID)));
assertEquals(artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.SongArtists.ARTISTID)));
}
}
public static class SongWithArtistWithoutAlbum {
public static int songId = 1128;
public static int artistId = 73;
public static int albumId = 76;
public static String title = "Unknown";
public static String displayartist = "The Artist";
public static String[] PROJECTION = ArtistSong.PROJECTION;
public static void test(Cursor cursor) {
assertEquals(songId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.SONGID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.TITLE)));
assertEquals(displayartist, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.DISPLAYARTIST)));
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.ALBUMID)));
assertEquals(artistId, cursor.getInt(cursor.getColumnIndex(MediaContract.SongArtists.ARTISTID)));
}
}
public static class SongWithMultipleArtists {
public static int songId = 1804;
public static int firstArtistId = 226;
public static int secondArtistId = 227;
public static int thirdArtistId = 228;
public static int albumId = 234;
public static String title = "threeartists";
public static String displayartist = "First artist / Second artist / Third artist";
public static String[] PROJECTION = ArtistSong.PROJECTION;
public static void test(Cursor cursor) {
assertEquals(songId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.SONGID)));
assertEquals(title, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.TITLE)));
assertEquals(albumId, cursor.getInt(cursor.getColumnIndex(MediaContract.Songs.ALBUMID)));
assertEquals(displayartist, cursor.getString(cursor.getColumnIndex(MediaContract.Songs.DISPLAYARTIST)));
}
}
}