");
+
+ foreach (var imagePath in imageFiles)
+ {
+ var fileName = Path.GetFileNameWithoutExtension(imagePath);
+ var baselinePath = Path.Combine(_testDirectory, fileName + "_baseline.png");
+ var outputPath = Path.Combine(_testDirectory, fileName + "_output.png");
+ var dims = CoverImageSize.Default.GetDimensions();
+
+ using var sourceImage = Image.NewFromFile(imagePath, false, Enums.Access.SequentialUnbuffered);
+ htmlBuilder.AppendLine("
");
+ htmlBuilder.AppendLine($"
{fileName} ({((double) sourceImage.Width / sourceImage.Height).ToString("F2")}) - {ImageService.WillScaleWell(sourceImage, dims.Width, dims.Height)}
");
+ htmlBuilder.AppendLine($"
}\")
");
+ if (File.Exists(baselinePath))
+ {
+ htmlBuilder.AppendLine($"
}\")
");
+ }
+ if (File.Exists(outputPath))
+ {
+ htmlBuilder.AppendLine($"
}\")
");
+ }
+ htmlBuilder.AppendLine("
");
+ }
+
+ htmlBuilder.AppendLine("
");
+ htmlBuilder.AppendLine("");
+ htmlBuilder.AppendLine("");
+
+ File.WriteAllText(Path.Combine(_testDirectory, "index.html"), htmlBuilder.ToString());
+ }
+
+}
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/comic-normal-2.jpg b/API.Tests/Services/Test Data/ImageService/Covers/comic-normal-2.jpg
new file mode 100644
index 000000000..b185d6e41
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/comic-normal-2.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/comic-normal-3.jpg b/API.Tests/Services/Test Data/ImageService/Covers/comic-normal-3.jpg
new file mode 100644
index 000000000..99aafb10a
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/comic-normal-3.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/comic-normal.jpg b/API.Tests/Services/Test Data/ImageService/Covers/comic-normal.jpg
new file mode 100644
index 000000000..91a8f9b8e
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/comic-normal.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/comic-square.jpg b/API.Tests/Services/Test Data/ImageService/Covers/comic-square.jpg
new file mode 100644
index 000000000..6ee3931b3
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/comic-square.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/comic-wide.jpg b/API.Tests/Services/Test Data/ImageService/Covers/comic-wide.jpg
new file mode 100644
index 000000000..3442c8b32
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/comic-wide.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/manga-cover.png b/API.Tests/Services/Test Data/ImageService/Covers/manga-cover.png
new file mode 100644
index 000000000..eae5138c6
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/manga-cover.png differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/spread-cover.jpg b/API.Tests/Services/Test Data/ImageService/Covers/spread-cover.jpg
new file mode 100644
index 000000000..449400181
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/spread-cover.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/webtoon-strip-2.png b/API.Tests/Services/Test Data/ImageService/Covers/webtoon-strip-2.png
new file mode 100644
index 000000000..e89641384
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/webtoon-strip-2.png differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/webtoon-strip.jpg b/API.Tests/Services/Test Data/ImageService/Covers/webtoon-strip.jpg
new file mode 100644
index 000000000..469cb9bc3
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/webtoon-strip.jpg differ
diff --git a/API.Tests/Services/Test Data/ImageService/Covers/wide-ad.png b/API.Tests/Services/Test Data/ImageService/Covers/wide-ad.png
new file mode 100644
index 000000000..2ad5103fe
Binary files /dev/null and b/API.Tests/Services/Test Data/ImageService/Covers/wide-ad.png differ
diff --git a/API/API.csproj b/API/API.csproj
index 2f97240df..f2b82968b 100644
--- a/API/API.csproj
+++ b/API/API.csproj
@@ -53,7 +53,7 @@