+ MediaInfoTest

This commit is contained in:
Reinhard Pointner 2016-07-29 14:21:07 +08:00
parent 993319c4cc
commit 84ac74ca1a
2 changed files with 60 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import net.filebot.format.ExpressionFormatTest;
import net.filebot.hash.VerificationFormatTest;
import net.filebot.media.MediaDetectionTest;
import net.filebot.media.ReleaseInfoTest;
import net.filebot.mediainfo.MediaInfoTest;
import net.filebot.similarity.EpisodeMetricsTest;
import net.filebot.similarity.SimilarityTestSuite;
import net.filebot.subtitle.SubtitleReaderTestSuite;
@ -16,7 +17,7 @@ import net.filebot.util.UtilTestSuite;
import net.filebot.web.WebTestSuite;
@RunWith(Suite.class)
@SuiteClasses({ SimilarityTestSuite.class, WebTestSuite.class, ExpressionFormatTest.class, VerificationFormatTest.class, MatchModelTest.class, EpisodeMetricsTest.class, SubtitleReaderTestSuite.class, ReleaseInfoTest.class, MediaDetectionTest.class, UtilTestSuite.class })
@SuiteClasses({ SimilarityTestSuite.class, WebTestSuite.class, ExpressionFormatTest.class, VerificationFormatTest.class, MatchModelTest.class, EpisodeMetricsTest.class, SubtitleReaderTestSuite.class, ReleaseInfoTest.class, MediaDetectionTest.class, MediaInfoTest.class, UtilTestSuite.class })
public class AllTests {
}

View File

@ -0,0 +1,58 @@
package net.filebot.mediainfo;
import static org.junit.Assert.*;
import java.io.File;
import java.net.URL;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import net.filebot.Cache;
import net.filebot.CacheType;
import net.filebot.mediainfo.MediaInfo.StreamKind;
public class MediaInfoTest {
private static File getSampleFile(String name) throws Exception {
File folder = new File(FileUtils.getTempDirectory(), MediaInfoTest.class.getName());
File file = new File(folder, name + ".mp4");
if (!file.exists()) {
byte[] bytes = Cache.getCache(folder.getName(), CacheType.Persistent).bytes("video/mp4/720/big_buck_bunny_720p_1mb.mp4", n -> {
return new URL("http://www.sample-videos.com/" + n);
}).get();
FileUtils.forceMkdir(folder);
FileUtils.writeByteArrayToFile(file, bytes);
}
return file;
}
private static void testSampleFile(String name) throws Exception {
MediaInfo mi = new MediaInfo().open(getSampleFile(name));
assertEquals("MPEG-4", mi.get(StreamKind.General, 0, "Format"));
assertEquals("AVC", mi.get(StreamKind.Video, 0, "Format"));
assertEquals("AAC", mi.get(StreamKind.Audio, 0, "Format"));
}
@Test
public void open() throws Exception {
testSampleFile("English");
}
@Test
public void openUnicode() throws Exception {
testSampleFile("中文");
testSampleFile("日本語");
}
@Test
public void openDiacriticalMarks() throws Exception {
testSampleFile("Español");
testSampleFile("Österreichisch");
}
}