public void DoSplitTest()
        {
            MemoryStream memoryStream = TestHelper.ReadTestFileToMemory();
             PdfReader reader = new PdfReader(memoryStream);
             PdfOrigin origin = new PdfOrigin();
             origin.Reader = reader;

             MockRepository mocks = new MockRepository();

             IPdfSplit split1 = mocks.DynamicMock<IPdfSplit>();
             IPdfSplit split2 = mocks.DynamicMock<IPdfSplit>();
             IPdfSplit split3 = mocks.DynamicMock<IPdfSplit>();

             IList<IPdfSplit> splits = new List<IPdfSplit> { split1, split2, split3 };
             origin.SplitDocuments = splits;

             Expect.Call(split1.OpenPdfDocument);
             Expect.Call(() => split1.SplitDocument(null))
            .IgnoreArguments()
            .Constraints(Is.Same(reader));
             Expect.Call(split1.ClosePdfDocument);

             Expect.Call(split2.OpenPdfDocument);
             Expect.Call(() => split2.SplitDocument(null))
            .IgnoreArguments()
            .Constraints(Is.Same(reader));
             Expect.Call(split2.ClosePdfDocument);

             Expect.Call(split3.OpenPdfDocument);
             Expect.Call(() => split3.SplitDocument(null))
            .IgnoreArguments()
            .Constraints(Is.Same(reader));
             Expect.Call(split3.ClosePdfDocument);

             mocks.ReplayAll();

             origin.DoSplit();

             mocks.VerifyAll();
        }
        public void SplitDocumentIntegrationTest()
        {
            DirectoryInfo di = new DirectoryInfo(ConfigurationManager.AppSettings["Destination Folder"]);
             FileInfo[] files = di.GetFiles("*.pdf");
             foreach (FileInfo file in files)
            if (file.Exists) file.Delete();

             FileInfo fi = new FileInfo(ConfigurationManager.AppSettings["Original Pdf"]);
             PdfOrigin origin = new PdfOrigin(fi);
             origin.SetupChildPdfs();
             origin.DoSplit();

             files = di.GetFiles("*.pdf");
             Assert.AreEqual(7, files.Length);
        }