Files
PdfPig/src/UglyToad.PdfPig.Tests/Integration/SwedishTouringCarChampionshipTests.cs

119 lines
3.7 KiB
C#
Raw Normal View History

namespace UglyToad.PdfPig.Tests.Integration
{
using Content;
using UglyToad.PdfPig.Images.Png;
using Xunit;
public class SwedishTouringCarChampionshipTests
{
private static string GetFilename()
{
return IntegrationHelpers.GetDocumentPath("2006_Swedish_Touring_Car_Championship.pdf");
}
[Fact]
public void HasCorrectNumberOfPages()
{
using (var document = PdfDocument.Open(GetFilename()))
{
Assert.Equal(4, document.NumberOfPages);
}
}
[Fact]
public void HasCorrectVersion()
{
using (var document = PdfDocument.Open(GetFilename()))
{
Assert.Equal(1.4, document.Version);
}
}
[Fact]
public void GetsFirstPageContent()
{
using (var document = PdfDocument.Open(GetFilename()))
{
var page = document.GetPage(1);
Assert.Contains("A privateers championship named Caran Cup was created for drivers using cars constructed in 2003 or earlier", page.Text);
Assert.Equal(PageSize.A4, page.Size);
}
}
[Fact]
public void GetsSwedishCharacters()
{
using (var document = PdfDocument.Open(GetFilename()))
{
var page = document.GetPage(2);
Assert.Contains("Vålerbanen", page.Text);
page = document.GetPage(3);
Assert.Contains("Söderberg", page.Text);
}
}
[Fact]
public void GetsHyperlinks()
{
using (var document = PdfDocument.Open(GetFilename(), ParsingOptions.LenientParsingOff))
{
var page = document.GetPage(1);
var links = page.GetHyperlinks();
Assert.Equal(4, links.Count);
var pageLink = links[0];
Assert.Equal("Swedish Touring Car Championship", pageLink.Text);
Assert.Equal("https://en.wikipedia.org/wiki/Swedish_Touring_Car_Championship", pageLink.Uri);
var year2005 = links[1];
Assert.Equal("2005", year2005.Text);
Assert.Equal("https://en.wikipedia.org/wiki/2005_Swedish_Touring_Car_Championship", year2005.Uri);
var year2007 = links[2];
Assert.Equal("2007", year2007.Text);
Assert.Equal("https://en.wikipedia.org/wiki/2007_Swedish_Touring_Car_Championship", year2007.Uri);
var fullLink = links[3];
Assert.Equal("The 2006 Swedish Touring Car Championship season was the 11th Swedish Touring Car Championship (STCC) season. " +
"In total nine racing weekends at six different circuits were held; each", fullLink.Text);
Assert.Equal("https://en.wikipedia.org/wiki/Swedish_Touring_Car_Championship", fullLink.Uri);
}
}
[Fact]
public void GetsImagesAsPng()
{
using (var document = PdfDocument.Open(GetFilename()))
{
foreach (var page in document.GetPages())
{
foreach (var image in page.GetImages())
{
if (!image.TryGetBytes(out _))
{
continue;
}
Assert.True(image.TryGetPng(out var png));
var pngActual = Png.Open(png);
Assert.NotNull(pngActual);
}
}
}
}
}
}