Skip to content

Commit

Permalink
Added tests
Browse files Browse the repository at this point in the history
Added rendering to pdf
  • Loading branch information
bubibubi committed Aug 15, 2017
1 parent 9ac9bdf commit f310c18
Show file tree
Hide file tree
Showing 20 changed files with 905 additions and 56 deletions.
8 changes: 6 additions & 2 deletions BuildTablesFromPdf.Console/BuildTablesFromPdf.Console.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,12 @@
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="Example.pdf" />
<None Include="ExampleSource.xlsx" />
<None Include="Example.pdf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="ExampleSource.xlsx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
Expand Down
15 changes: 6 additions & 9 deletions BuildTablesFromPdf.Console/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,14 @@ class Program
static void Main(string[] args)
{

Matrix matrix = new Matrix(1,0,-1,0,50,60);
Console.WriteLine(matrix * Matrix.Identity);
Console.WriteLine(Matrix.Identity * matrix);
var pages = ContentExtractor.Read(@"Example.PDF");
var page = pages[0];

page.DetermineTableStructures();
page.DetermineParagraphs();
page.FillContent();

//ExtractByLocation.Read(@"C:\Users\Utente\Desktop\CR2993\GLOBAL_SISTEMI.PDF");

var pages = ContentExtractor.Read(@"C:\Users\Utente\Desktop\CR2993\GLOBAL_SISTEMI.PDF");

pages[2].DetermineTableStructures();

Console.WriteLine(page);

Console.ReadLine();
}
Expand Down
105 changes: 105 additions & 0 deletions BuildTablesFromPdf.Engine.Test/BuildTablesFromPdf.Engine.Test.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0EEDBCC7-E56A-435E-B41F-09953B8D9CFC}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BuildTablesFromPdf.Engine.Test</RootNamespace>
<AssemblyName>BuildTablesFromPdf.Engine.Test</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="iTextSharp, Version=4.1.6.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca">
<HintPath>..\packages\iTextSharp-LGPL.4.1.6\lib\iTextSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
</ItemGroup>
<Choose>
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup>
<Compile Include="BuildTablesFromPdfTest.cs" />
<Compile Include="MHDiff.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BuildTablesFromPdf.Engine\BuildTablesFromPdf.Engine.csproj">
<Project>{9883fa0a-cb8e-4053-a3e9-58ffe5269320}</Project>
<Name>BuildTablesFromPdf.Engine</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="TestFiles\Test1.pdf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="TestFiles\Test1.pdf.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
</ItemGroup>
</When>
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
62 changes: 62 additions & 0 deletions BuildTablesFromPdf.Engine.Test/BuildTablesFromPdfTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using System;
using System.IO;
using CR.Test;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace BuildTablesFromPdf.Engine.Test
{
[TestClass]
public class BuildTablesFromPdfTest
{

private const string Path = @"TestFiles\";


[TestMethod]
public void BuildTablesFromPdfTestRun()
{
var pdfFileList = Directory.GetFiles(Path, "*.pdf");

foreach (var pdfFilePath in pdfFileList)
CheckFile(pdfFilePath);

}


private static void CheckFile(string pdfFilePath)
{
Console.WriteLine("Reading " + System.IO.Path.GetFileName(pdfFilePath));
PageCollection pages = ContentExtractor.ReadPdfFileAndRefreshContent(pdfFilePath);
string fileContent = string.Empty;
foreach (Page page in pages)
{
fileContent += "======================================================\r\n";
fileContent += page.ToString();
}


string txtFileName = pdfFilePath + ".txt";

if (File.Exists(txtFileName))
{
Console.WriteLine("Testing " + System.IO.Path.GetFileName(pdfFilePath));
string txtFileContent = File.ReadAllText(txtFileName);
if (txtFileContent != fileContent)
{
string[] txtFileLines = txtFileContent.Replace("\r\n", "\r").Split('\r');
string[] txtLines = fileContent.Replace("\r\n", "\r").Split('\r');
string diff = MHDiff.GetDiff(txtFileLines, txtLines);
Console.WriteLine("Files are different");
Console.WriteLine(diff);
throw new Exception("Wrong content in file " + pdfFilePath);
}
}
else
{
Console.WriteLine(System.IO.Path.GetFileName(pdfFilePath) + " NOT TESTED!!!");
Console.WriteLine("Creating txt file " + txtFileName);
File.WriteAllText(txtFileName, fileContent);
}
}
}
}
Loading

0 comments on commit f310c18

Please sign in to comment.