Replace image inserter test with Kotlin version
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 1 Feb 2018 18:45:37 +0000 (19:45 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 1 Feb 2018 19:33:44 +0000 (20:33 +0100)
src/test/java/net/pterodactylus/sone/core/ImageInserterTest.java [deleted file]
src/test/kotlin/net/pterodactylus/sone/core/ImageInserterTest.kt [new file with mode: 0644]

diff --git a/src/test/java/net/pterodactylus/sone/core/ImageInserterTest.java b/src/test/java/net/pterodactylus/sone/core/ImageInserterTest.java
deleted file mode 100644 (file)
index 75788d1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-package net.pterodactylus.sone.core;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import net.pterodactylus.sone.core.FreenetInterface.InsertToken;
-import net.pterodactylus.sone.data.Image;
-import net.pterodactylus.sone.data.TemporaryImage;
-
-import com.google.common.base.Function;
-import org.junit.Test;
-
-/**
- * Unit test for {@link ImageInserter}.
- *
- * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
- */
-public class ImageInserterTest {
-
-       private final TemporaryImage temporaryImage = when(mock(TemporaryImage.class).getId()).thenReturn("image-id").getMock();
-       private final Image image = when(mock(Image.class).getId()).thenReturn("image-id").getMock();
-       private final FreenetInterface freenetInterface = mock(FreenetInterface.class);
-       private final InsertToken insertToken = mock(InsertToken.class);
-       private final Function<Image, InsertToken> insertTokenSupplier = when(mock(Function.class).apply(any(Image.class))).thenReturn(insertToken).getMock();
-       private final ImageInserter imageInserter = new ImageInserter(freenetInterface, insertTokenSupplier);
-
-       @Test
-       public void inserterInsertsImage() throws SoneException {
-               imageInserter.insertImage(temporaryImage, image);
-               verify(freenetInterface).insertImage(eq(temporaryImage), eq(image), any(InsertToken.class));
-       }
-
-       @Test
-       public void exceptionWhenInsertingImageIsIgnored() throws SoneException {
-               doThrow(SoneException.class).when(freenetInterface).insertImage(eq(temporaryImage), eq(image), any(InsertToken.class));
-               imageInserter.insertImage(temporaryImage, image);
-               verify(freenetInterface).insertImage(eq(temporaryImage), eq(image), any(InsertToken.class));
-       }
-
-       @Test
-       public void cancellingImageInsertThatIsNotRunningDoesNothing() {
-               imageInserter.cancelImageInsert(image);
-               verify(insertToken, never()).cancel();
-       }
-
-       @Test
-       public void cancellingImage() {
-               imageInserter.insertImage(temporaryImage, image);
-               imageInserter.cancelImageInsert(image);
-               verify(insertToken).cancel();
-       }
-
-}
diff --git a/src/test/kotlin/net/pterodactylus/sone/core/ImageInserterTest.kt b/src/test/kotlin/net/pterodactylus/sone/core/ImageInserterTest.kt
new file mode 100644 (file)
index 0000000..0a34d26
--- /dev/null
@@ -0,0 +1,54 @@
+package net.pterodactylus.sone.core
+
+import net.pterodactylus.sone.core.FreenetInterface.InsertToken
+import net.pterodactylus.sone.core.FreenetInterface.InsertTokenSupplier
+import net.pterodactylus.sone.data.Image
+import net.pterodactylus.sone.data.TemporaryImage
+import net.pterodactylus.sone.test.mock
+import net.pterodactylus.sone.test.whenever
+import org.junit.Test
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.Mockito.doThrow
+import org.mockito.Mockito.never
+import org.mockito.Mockito.verify
+
+/**
+ * Unit test for [ImageInserter].
+ */
+class ImageInserterTest {
+
+       private val temporaryImage = mock<TemporaryImage>().apply { whenever(id).thenReturn("image-id") }
+       private val image = mock<Image>().apply { whenever(id).thenReturn("image-id") }
+       private val freenetInterface = mock<FreenetInterface>()
+       private val insertToken = mock<InsertToken>()
+       private val insertTokenSupplier: InsertTokenSupplier = mock<InsertTokenSupplier>().apply { whenever(apply(any())).thenReturn(insertToken) }
+       private val imageInserter = ImageInserter(freenetInterface, insertTokenSupplier)
+
+       @Test
+       fun `inserter inserts image`() {
+               imageInserter.insertImage(temporaryImage, image)
+               verify(freenetInterface).insertImage(eq(temporaryImage), eq(image), any(InsertToken::class.java))
+       }
+
+       @Test
+       fun `exception when inserting image is ignored`() {
+               doThrow(SoneException::class.java).`when`(freenetInterface).insertImage(eq(temporaryImage), eq(image), any(InsertToken::class.java))
+               imageInserter.insertImage(temporaryImage, image)
+               verify(freenetInterface).insertImage(eq(temporaryImage), eq(image), any(InsertToken::class.java))
+       }
+
+       @Test
+       fun `cancelling image insert that is not running does nothing`() {
+               imageInserter.cancelImageInsert(image)
+               verify(insertToken, never()).cancel()
+       }
+
+       @Test
+       fun `cancelling image cancels the insert token`() {
+               imageInserter.insertImage(temporaryImage, image)
+               imageInserter.cancelImageInsert(image)
+               verify(insertToken).cancel()
+       }
+
+}