public virtual void DefaultMemoryHandler() { MemoryLimitsAwareHandler handler = new MemoryLimitsAwareHandler(); NUnit.Framework.Assert.AreEqual(int.MaxValue / 100, handler.GetMaxSizeOfSingleDecompressedPdfStream()); NUnit.Framework.Assert.AreEqual(int.MaxValue / 20, handler.GetMaxSizeOfDecompressedPdfStreamsSum()); }
public virtual void CustomMemoryHandler() { MemoryLimitsAwareHandler handler = new MemoryLimitsAwareHandler(1000000); NUnit.Framework.Assert.AreEqual(100000000, handler.GetMaxSizeOfSingleDecompressedPdfStream()); NUnit.Framework.Assert.AreEqual(500000000, handler.GetMaxSizeOfDecompressedPdfStreamsSum()); }
private static void TestSingleStream(MemoryLimitsAwareHandler handler) { String expectedExceptionMessage = PdfException.DuringDecompressionSingleStreamOccupiedMoreMemoryThanAllowed; int expectedFailureIndex = 10; String occuredExceptionMessage = null; int limit = handler.GetMaxSizeOfSingleDecompressedPdfStream(); long step = limit / 10; int i = 0; try { handler.BeginDecompressedPdfStreamProcessing(); for (i = 0; i < 11; i++) { handler.ConsiderBytesOccupiedByDecompressedPdfStream(step * (1 + i)); } handler.EndDecompressedPdfStreamProcessing(); } catch (MemoryLimitsAwareException e) { occuredExceptionMessage = e.Message; } NUnit.Framework.Assert.AreEqual(expectedFailureIndex, i); NUnit.Framework.Assert.AreEqual(expectedExceptionMessage, occuredExceptionMessage); }