Adds more tests for api
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
package com.github.gtache.autosubtitle;
|
||||
|
||||
import com.github.gtache.autosubtitle.subtitle.Subtitle;
|
||||
import com.github.gtache.autosubtitle.translation.Translator;
|
||||
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.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class TestTranslator {
|
||||
|
||||
private final Translator translator;
|
||||
private final Subtitle subtitle;
|
||||
|
||||
TestTranslator(@Mock final Translator translator, @Mock final Subtitle subtitle) {
|
||||
this.translator = Objects.requireNonNull(translator);
|
||||
this.subtitle = Objects.requireNonNull(subtitle);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetLanguage() {
|
||||
when(translator.getLanguage(subtitle)).thenCallRealMethod();
|
||||
|
||||
final var text = "text";
|
||||
when(subtitle.content()).thenReturn(text);
|
||||
|
||||
when(translator.getLanguage(text)).thenReturn(Language.FR);
|
||||
assertEquals(Language.FR, translator.getLanguage(subtitle));
|
||||
verify(translator).getLanguage(text);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.github.gtache.autosubtitle.archive;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.nio.file.Paths;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
class TestArchiver {
|
||||
|
||||
@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")));
|
||||
assertFalse(archiver.isPathSupported(Paths.get("test")));
|
||||
assertFalse(archiver.isPathSupported(Paths.get("test.txt")));
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.github.gtache.autosubtitle.com.github.gtache.autosubtitle.subtitle;
|
||||
package com.github.gtache.autosubtitle.subtitle;
|
||||
|
||||
import com.github.gtache.autosubtitle.subtitle.Subtitle;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.github.gtache.autosubtitle.subtitle;
|
||||
|
||||
import com.github.gtache.autosubtitle.VideoInfo;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
class TestSubtitleImporterExporter {
|
||||
|
||||
|
||||
@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);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.github.gtache.autosubtitle.com.github.gtache.autosubtitle.subtitle.converter;
|
||||
package com.github.gtache.autosubtitle.subtitle.converter;
|
||||
|
||||
import com.github.gtache.autosubtitle.subtitle.Subtitle;
|
||||
import com.github.gtache.autosubtitle.subtitle.SubtitleCollection;
|
||||
import com.github.gtache.autosubtitle.subtitle.converter.ParseException;
|
||||
import com.github.gtache.autosubtitle.subtitle.converter.SubtitleConverter;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
@@ -1,12 +1,9 @@
|
||||
package com.github.gtache.autosubtitle.com.github.gtache.autosubtitle.subtitle.extractor;
|
||||
package com.github.gtache.autosubtitle.subtitle.extractor;
|
||||
|
||||
import com.github.gtache.autosubtitle.Audio;
|
||||
import com.github.gtache.autosubtitle.Language;
|
||||
import com.github.gtache.autosubtitle.Video;
|
||||
import com.github.gtache.autosubtitle.subtitle.SubtitleCollection;
|
||||
import com.github.gtache.autosubtitle.subtitle.extractor.ExtractException;
|
||||
import com.github.gtache.autosubtitle.subtitle.extractor.ExtractionModel;
|
||||
import com.github.gtache.autosubtitle.subtitle.extractor.SubtitleExtractor;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.github.gtache.autosubtitle.translation;
|
||||
|
||||
import com.github.gtache.autosubtitle.Language;
|
||||
import com.github.gtache.autosubtitle.subtitle.Subtitle;
|
||||
import com.github.gtache.autosubtitle.subtitle.SubtitleCollection;
|
||||
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.*;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class TestTranslator {
|
||||
|
||||
private final Translator<Subtitle> translator;
|
||||
private final Subtitle subtitle;
|
||||
private final Language from;
|
||||
private final Language to;
|
||||
|
||||
TestTranslator(@Mock final Translator<Subtitle> translator, @Mock final Subtitle subtitle, @Mock final Language from, @Mock final Language to) {
|
||||
this.translator = Objects.requireNonNull(translator);
|
||||
this.subtitle = Objects.requireNonNull(subtitle);
|
||||
this.from = Objects.requireNonNull(from);
|
||||
this.to = Objects.requireNonNull(to);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetLanguage() {
|
||||
when(translator.getLanguage(subtitle)).thenCallRealMethod();
|
||||
|
||||
final var text = "text";
|
||||
when(subtitle.content()).thenReturn(text);
|
||||
|
||||
when(translator.getLanguage(text)).thenReturn(Language.FR);
|
||||
assertEquals(Language.FR, translator.getLanguage(subtitle));
|
||||
verify(translator).getLanguage(text);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTranslate() throws TranslationException {
|
||||
when(translator.translate(anyString(), any(Language.class))).thenCallRealMethod();
|
||||
final var text = "text";
|
||||
when(translator.getLanguage(text)).thenReturn(from);
|
||||
final var expected = "translated";
|
||||
when(translator.translate(text, from, to)).thenReturn(expected);
|
||||
|
||||
assertEquals(expected, translator.translate(text, to));
|
||||
verify(translator).translate(text, from, to);
|
||||
verify(translator).getLanguage(text);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTranslateSubtitle() throws TranslationException {
|
||||
when(translator.translate(any(Subtitle.class), any(Language.class))).thenCallRealMethod();
|
||||
when(translator.getLanguage(subtitle)).thenReturn(from);
|
||||
final var expected = mock(Subtitle.class);
|
||||
when(translator.translate(subtitle, from, to)).thenReturn(expected);
|
||||
|
||||
assertEquals(expected, translator.translate(subtitle, to));
|
||||
verify(translator).translate(subtitle, from, to);
|
||||
verify(translator).getLanguage(subtitle);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTranslateCollection() throws TranslationException {
|
||||
when(translator.translate(any(SubtitleCollection.class), any(Language.class))).thenCallRealMethod();
|
||||
final var collection = mock(SubtitleCollection.class);
|
||||
final var text = "test";
|
||||
when(collection.text()).thenReturn(text);
|
||||
when(translator.getLanguage(text)).thenReturn(from);
|
||||
final var expected = mock(SubtitleCollection.class);
|
||||
when(translator.translate(collection, from, to)).thenReturn(expected);
|
||||
|
||||
assertEquals(expected, translator.translate(collection, to));
|
||||
verify(translator).translate(collection, from, to);
|
||||
verify(translator).getLanguage(text);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user