Adds some tests, cleanup a bit

This commit is contained in:
Guillaume Tâche
2024-09-20 08:36:52 +02:00
parent 17086a87ef
commit 703a4c71ae
47 changed files with 1122 additions and 182 deletions

View File

@@ -1,22 +1,17 @@
package com.github.gtache.autosubtitle;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import java.util.Objects;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
class TestVideoInfo {
private final VideoInfo videoInfo;
TestVideoInfo(@Mock final VideoInfo videoInfo) {
this.videoInfo = Objects.requireNonNull(videoInfo);
TestVideoInfo() {
this.videoInfo = spy(VideoInfo.class);
}
@Test

View File

@@ -11,9 +11,14 @@ import static org.mockito.Mockito.when;
class TestArchiver {
private final Archiver archiver;
TestArchiver() {
this.archiver = spy(Archiver.class);
}
@Test
void testIsSupported() {
final var archiver = spy(Archiver.class);
when(archiver.archiveExtension()).thenReturn("test");
assertTrue(archiver.isPathSupported(Paths.get("x.test")));
assertFalse(archiver.isPathSupported(Paths.get("tes")));

View File

@@ -2,25 +2,35 @@ package com.github.gtache.autosubtitle.subtitle;
import com.github.gtache.autosubtitle.VideoInfo;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import static java.util.Objects.requireNonNull;
import static org.mockito.Mockito.*;
@ExtendWith(MockitoExtension.class)
class TestSubtitleImporterExporter {
private final SubtitleImporterExporter<Subtitle> importerExporter;
private final SubtitleCollection<Subtitle> subtitleCollection;
TestSubtitleImporterExporter(@Mock final SubtitleCollection<Subtitle> subtitleCollection) {
this.subtitleCollection = requireNonNull(subtitleCollection);
this.importerExporter = spy(SubtitleImporterExporter.class);
}
@Test
void testExportSubtitleCollection() throws IOException {
final var importExporter = spy(SubtitleImporterExporter.class);
final var collection = mock(SubtitleCollection.class);
final var videoInfo = Mockito.mock(VideoInfo.class);
final var file = mock(Path.class);
importExporter.exportSubtitles(collection, videoInfo, file);
verify(importExporter).exportSubtitles(List.of(collection), videoInfo, file);
importerExporter.exportSubtitles(subtitleCollection, videoInfo, file);
verify(importerExporter).exportSubtitles(List.of(subtitleCollection), videoInfo, file);
}
}