Skip to content
Open
7 changes: 6 additions & 1 deletion Source/VersOne.Epub.Test/Comparers/EpubBookComparer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@
{
internal static class EpubBookComparer
{
public static void CompareEpubBooks(EpubBook expected, EpubBook actual)
public static void CompareEpubBooks(EpubBook? expected, EpubBook? actual)
{
if (expected == null)
{
Assert.Null(actual);
return;
}
Assert.NotNull(actual);
Assert.Equal(expected.FilePath, actual.FilePath);
Assert.Equal(expected.Title, actual.Title);
Expand Down
7 changes: 6 additions & 1 deletion Source/VersOne.Epub.Test/Comparers/EpubBookRefComparer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@
{
internal static class EpubBookRefComparer
{
public static void CompareEpubBookRefs(EpubBookRef expected, EpubBookRef actual)
public static void CompareEpubBookRefs(EpubBookRef? expected, EpubBookRef? actual)
{
if (expected == null)
{
Assert.Null(actual);
return;
}
Assert.NotNull(actual);
Assert.Equal(expected.FilePath, actual.FilePath);
Assert.Equal(expected.Title, actual.Title);
Expand Down
7 changes: 6 additions & 1 deletion Source/VersOne.Epub.Test/Comparers/EpubPackageComparer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ namespace VersOne.Epub.Test.Comparers
{
internal static class EpubPackageComparer
{
public static void CompareEpubPackages(EpubPackage expected, EpubPackage actual)
public static void CompareEpubPackages(EpubPackage? expected, EpubPackage? actual)
{
if (expected == null)
{
Assert.Null(actual);
return;
}
Assert.NotNull(actual);
Assert.Equal(expected.UniqueIdentifier, actual.UniqueIdentifier);
Assert.Equal(expected.EpubVersion, actual.EpubVersion);
Expand Down
7 changes: 6 additions & 1 deletion Source/VersOne.Epub.Test/Comparers/EpubSchemaComparer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@
{
internal static class EpubSchemaComparer
{
public static void CompareEpubSchemas(EpubSchema expected, EpubSchema actual)
public static void CompareEpubSchemas(EpubSchema? expected, EpubSchema? actual)
{
if (expected == null)
{
Assert.Null(actual);
return;
}
Assert.NotNull(actual);
Assert.Equal(expected.ContentDirectoryPath, actual.ContentDirectoryPath);
EpubPackageComparer.CompareEpubPackages(expected.Package, actual.Package);
Expand Down
7 changes: 6 additions & 1 deletion Source/VersOne.Epub.Test/Comparers/SmilComparers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ public static void CompareSmilLists(List<Smil> expected, List<Smil> actual)
CollectionComparer.CompareCollections(expected, actual, CompareSmils);
}

public static void CompareSmils(Smil expected, Smil actual)
public static void CompareSmils(Smil? expected, Smil? actual)
{
if (expected == null)
{
Assert.Null(actual);
return;
}
Assert.NotNull(actual);
Assert.Equal(expected.Id, actual.Id);
Assert.Equal(expected.Version, actual.Version);
Expand Down
8 changes: 5 additions & 3 deletions Source/VersOne.Epub.Test/Integration/Runner/TestRunner.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Runtime.CompilerServices;
using VersOne.Epub.Options;
using VersOne.Epub.Test.Comparers;
using VersOne.Epub.Test.Integration.CustomSerialization;
using VersOne.Epub.Test.Integration.Types;
Expand Down Expand Up @@ -31,22 +32,23 @@ public void Run(string testCaseDirectoryPath)
Assert.NotNull(testCases);
foreach (TestCase testCase in testCases)
{
EpubReaderOptions epubReaderOptions = testCase.Options ?? new EpubReaderOptions();
if (testCase.ExpectedResult != null)
{
EpubBook epubBook = EpubReader.ReadBook(testEpubPath, testCase.Options);
EpubBook? epubBook = EpubReader.ReadBook(testEpubPath, epubReaderOptions);
EpubBookComparer.CompareEpubBooks(testCase.ExpectedResult, epubBook);
}
else if (testCase.ExpectedException != null)
{
bool exceptionThrown = false;
try
{
EpubReader.ReadBook(testEpubPath, testCase.Options);
EpubReader.ReadBook(testEpubPath, epubReaderOptions);
}
catch (Exception actualException)
{
exceptionThrown = true;
Assert.Equal(actualException.GetType().Name, testCase.ExpectedException.Type);
Assert.Equal(testCase.ExpectedException.Type, actualException.GetType().Name);
if (testCase.ExpectedException.Message != null)
{
Assert.Equal(actualException.Message, testCase.ExpectedException.Message);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"Options": null,
"ExpectedResult": null,
"ExpectedException": {
"Type": "XmlException"
"Type": "EpubContainerException",
"Message": "EPUB parsing error: EPUB OCF container file is not a valid XML file."
}
},
{
Expand Down
Loading