public void HasCorrectLetterBoundingBoxes()
        {
            using (var document = PdfDocument.Open(GetFilename(), ParsingOptions.LenientParsingOff))
            {
                var page = document.GetPage(1);

                var comparer = new DoubleComparer(3d);

                Assert.Equal("I", page.Letters[0].Value);

                Assert.Equal(90.1d, page.Letters[0].GlyphRectangle.BottomLeft.X, comparer);
                Assert.Equal(709.2d, page.Letters[0].GlyphRectangle.BottomLeft.Y, comparer);

                Assert.Equal(94.0d, page.Letters[0].GlyphRectangle.TopRight.X, comparer);
                Assert.Equal(719.89d, page.Letters[0].GlyphRectangle.TopRight.Y, comparer);

                Assert.Equal("a", page.Letters[5].Value);

                Assert.Equal(114.5d, page.Letters[5].GlyphRectangle.BottomLeft.X, comparer);
                Assert.Equal(709.2d, page.Letters[5].GlyphRectangle.BottomLeft.Y, comparer);

                Assert.Equal(119.82d, page.Letters[5].GlyphRectangle.TopRight.X, comparer);
                Assert.Equal(714.89d, page.Letters[5].GlyphRectangle.TopRight.Y, comparer);

                Assert.Equal("f", page.Letters[16].Value);

                Assert.Equal(169.9d, page.Letters[16].GlyphRectangle.BottomLeft.X, comparer);
                Assert.Equal(709.2d, page.Letters[16].GlyphRectangle.BottomLeft.Y, comparer);

                Assert.Equal(176.89d, page.Letters[16].GlyphRectangle.TopRight.X, comparer);
                Assert.Equal(719.89d, page.Letters[16].GlyphRectangle.TopRight.Y, comparer);
            }
        }
Exemplo n.º 2
0
        public void ImagesHaveCorrectDimensionsAndLocations()
        {
            var doubleComparer = new DoubleComparer(1);

            using (var document = PdfDocument.Open(GetFilePath(), ParsingOptions.LenientParsingOff))
            {
                var page = document.GetPage(1);

                var images = page.GetImages().OrderBy(x => x.Bounds.Width).ToList();

                var pdfPigSquare = images[0];

                Assert.Equal(148.3d, pdfPigSquare.Bounds.Width, doubleComparer);
                Assert.Equal(148.3d, pdfPigSquare.Bounds.Height, doubleComparer);
                Assert.Equal(60.1d, pdfPigSquare.Bounds.Left, doubleComparer);
                Assert.Equal(765.8d, pdfPigSquare.Bounds.Top, doubleComparer);


                var pdfPigSquished = images[1];

                Assert.Equal(206.8d, pdfPigSquished.Bounds.Width, doubleComparer);
                Assert.Equal(83.2d, pdfPigSquished.Bounds.Height, doubleComparer);
                Assert.Equal(309.8d, pdfPigSquished.Bounds.Left, doubleComparer);
                Assert.Equal(552.1d, pdfPigSquished.Bounds.Top, doubleComparer);

                var birthdayPigs = images[2];

                Assert.Equal(391d, birthdayPigs.Bounds.Width, doubleComparer);
                Assert.Equal(267.1d, birthdayPigs.Bounds.Height, doubleComparer);
                Assert.Equal(102.2d, birthdayPigs.Bounds.Left, doubleComparer);
                Assert.Equal(426.3d, birthdayPigs.Bounds.Top, doubleComparer);
            }
        }
Exemplo n.º 3
0
        public void CanAddHelloWorldToSimplePage()
        {
            var path    = IntegrationHelpers.GetDocumentPath("Single Page Simple - from open office.pdf");
            var doc     = PdfDocument.Open(path);
            var builder = new PdfDocumentBuilder();

            var page = builder.AddPage(doc, 1);

            page.DrawLine(new PdfPoint(30, 520), new PdfPoint(360, 520));
            page.DrawLine(new PdfPoint(360, 520), new PdfPoint(360, 250));

            page.SetStrokeColor(250, 132, 131);
            page.DrawLine(new PdfPoint(25, 70), new PdfPoint(100, 70), 3);
            page.ResetColor();
            page.DrawRectangle(new PdfPoint(30, 200), 250, 100, 0.5m);
            page.DrawRectangle(new PdfPoint(30, 100), 250, 100, 0.5m);

            var file = TrueTypeTestHelper.GetFileBytes("Andada-Regular.ttf");

            var font = builder.AddTrueTypeFont(file);

            var letters = page.AddText("Hello World!", 12, new PdfPoint(30, 50), font);

            Assert.NotEmpty(page.CurrentStream.Operations);

            var b = builder.Build();

            WriteFile(nameof(CanAddHelloWorldToSimplePage), b);

            Assert.NotEmpty(b);

            using (var document = PdfDocument.Open(b))
            {
                var page1 = document.GetPage(1);

                Assert.Equal("I am a simple pdf.Hello World!", page1.Text);

                var h = page1.Letters[18];

                Assert.Equal("H", h.Value);
                Assert.Equal("Andada-Regular", h.FontName);

                var comparer      = new DoubleComparer(0.01);
                var pointComparer = new PointComparer(comparer);

                for (int i = 0; i < letters.Count; i++)
                {
                    var readerLetter = page1.Letters[i + 18];
                    var writerLetter = letters[i];

                    Assert.Equal(readerLetter.Value, writerLetter.Value);
                    Assert.Equal(readerLetter.Location, writerLetter.Location, pointComparer);
                    Assert.Equal(readerLetter.FontSize, writerLetter.FontSize, comparer);
                    Assert.Equal(readerLetter.GlyphRectangle.Width, writerLetter.GlyphRectangle.Width, comparer);
                    Assert.Equal(readerLetter.GlyphRectangle.Height, writerLetter.GlyphRectangle.Height, comparer);
                    Assert.Equal(readerLetter.GlyphRectangle.BottomLeft, writerLetter.GlyphRectangle.BottomLeft, pointComparer);
                }
            }
        }
Exemplo n.º 4
0
        public void GivenGaussianFilterWithDimension9_AndDeviation2_WhenCalculatingAreaUnderMask_ThenEquals1
            ()
        {
            // act
            var filter = new GaussianFilter(9, 2);

            // assert
            var sum      = filter.Filter.Sum();
            var comparer = new DoubleComparer(1e-8);

            Assert.AreEqual(0, comparer.Compare(1, sum));
        }
Exemplo n.º 5
0
        public void TestDoubleComparer()
        {
            string propName = "DoubleProp";
            _boCol[0].SetPropertyValue(propName, 3.1);
            _boCol[1].SetPropertyValue(propName, 5.2);
            _boCol[2].SetPropertyValue(propName, 3.0);

            DoubleComparer<MultiPropBO> comparer = new DoubleComparer<MultiPropBO>(propName);
            _boCol.Sort(comparer);

            Assert.IsNull(_boCol[0].GetPropertyValue(propName));
            Assert.AreEqual(3.0, _boCol[1].GetPropertyValue(propName));
            Assert.AreEqual(3.1, _boCol[2].GetPropertyValue(propName));
            Assert.AreEqual(5.2, _boCol[3].GetPropertyValue(propName));
        }
Exemplo n.º 6
0
        public void TestDoubleComparer()
        {
            string propName = "DoubleProp";

            _boCol[0].SetPropertyValue(propName, 3.1);
            _boCol[1].SetPropertyValue(propName, 5.2);
            _boCol[2].SetPropertyValue(propName, 3.0);

            DoubleComparer <MultiPropBO> comparer = new DoubleComparer <MultiPropBO>(propName);

            _boCol.Sort(comparer);

            Assert.IsNull(_boCol[0].GetPropertyValue(propName));
            Assert.AreEqual(3.0, _boCol[1].GetPropertyValue(propName));
            Assert.AreEqual(3.1, _boCol[2].GetPropertyValue(propName));
            Assert.AreEqual(5.2, _boCol[3].GetPropertyValue(propName));
        }
        public void LetterPositionsAreCorrectPdfBox()
        {
            using (var document = PdfDocument.Open(GetFilename()))
            {
                var page = document.GetPage(1);

                var pdfBoxData = GetPdfBoxPositionData();

                var index = 0;
                foreach (var pageLetter in page.Letters)
                {
                    if (index >= pdfBoxData.Count)
                    {
                        break;
                    }

                    var myX    = pageLetter.Location.X;
                    var theirX = pdfBoxData[index].X;

                    var myLetter    = pageLetter.Value;
                    var theirLetter = pdfBoxData[index].Text;

                    if (myLetter == " " && theirLetter != " ")
                    {
                        continue;
                    }

                    var comparer = new DoubleComparer(3);

                    Assert.Equal(theirLetter, myLetter);

                    Assert.Equal(theirX, myX, comparer);

                    Assert.Equal(pdfBoxData[index].Width, pageLetter.Width, comparer);

                    index++;
                }
            }
        }
Exemplo n.º 8
0
 public ActivationLayerTests()
 {
     _comparer = new DoubleComparer(4);
 }
Exemplo n.º 9
0
 public ConvolutionalLayerTests()
 {
     _comparer = new DoubleComparer(3);
 }
Exemplo n.º 10
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="contextGeometries"></param>
        /// <param name="sortAscending"></param>
        /// <returns></returns>
        public Autodesk.DesignScript.Geometry.Geometry[] SortByDistance(Geometry[] contextGeometries, bool sortAscending)
        {
            if (contextGeometries == null)
                throw new System.ArgumentNullException("contextGeometries");
            else if (contextGeometries.Length == 0)
            {
                throw new System.ArgumentException(string.Format(Properties.Resources.IsZero, "number of context geometries"), "contextGeometries");
            }

            //  insert all the geometries with their distance from this point in this sorted dictionary
            //
            //SortedDictionary<double, Geometry> geomsWithDistance = new SortedDictionary<double, Geometry>();
            List<KeyValuePair<double, Geometry>> geomsWithDistance = new List<KeyValuePair<double, Geometry>>();
            foreach (var geom in contextGeometries)
            {
                geomsWithDistance.Add(new KeyValuePair<double, Geometry>(geom.GeomEntity.DistanceTo(PointEntity), geom));
            }
            DoubleComparer comparer = new DoubleComparer(sortAscending);
            geomsWithDistance.Sort((KeyValuePair<double, Geometry> x, KeyValuePair<double, Geometry> y) => comparer.Compare(x.Key, y.Key));
            Geometry[] sortedList = new Geometry[geomsWithDistance.Count];
            int i = 0;
            foreach (var item in geomsWithDistance)
            {
                sortedList[i++] = item.Value;
            }

            return sortedList;
        }
Exemplo n.º 11
0
 public static int Compare(double x, double y)
 {
     return(DoubleComparer.Compare(x, y));
 }
Exemplo n.º 12
0
 public MatrixHelperTests()
 {
     _comparer = new DoubleComparer(4);
 }
Exemplo n.º 13
0
 public NetworkTests()
 {
     _comparer = new DoubleComparer(6);
 }
Exemplo n.º 14
0
 public DenseLayerTests()
 {
     _comparer = new DoubleComparer(5);
 }
Exemplo n.º 15
0
        public void WindowsOnlyCanWriteSinglePageHelloWorldSystemFont()
        {
            var builder = new PdfDocumentBuilder();

            builder.DocumentInformation.Title = "Hello Windows!";

            var page = builder.AddPage(PageSize.A4);

            var file = @"C:\Windows\Fonts\BASKVILL.TTF";

            if (!File.Exists(file))
            {
                return;
            }

            byte[] bytes;
            try
            {
                bytes = File.ReadAllBytes(file);
            }
            catch
            {
                return;
            }

            var font = builder.AddTrueTypeFont(bytes);

            var letters = page.AddText("Hello World!", 16, new PdfPoint(30, 520), font);

            page.AddText("This is some further text continuing to write", 12, new PdfPoint(30, 500), font);

            Assert.NotEmpty(page.Operations);

            var b = builder.Build();

            WriteFile(nameof(WindowsOnlyCanWriteSinglePageHelloWorldSystemFont), b);

            Assert.NotEmpty(b);

            using (var document = PdfDocument.Open(b))
            {
                var page1 = document.GetPage(1);

                Assert.StartsWith("Hello World!", page1.Text);

                var h = page1.Letters[0];

                Assert.Equal("H", h.Value);
                Assert.Equal("BaskOldFace", h.FontName);

                var comparer      = new DoubleComparer(0.01);
                var pointComparer = new PointComparer(comparer);

                for (int i = 0; i < letters.Count; i++)
                {
                    var readerLetter = page1.Letters[i];
                    var writerLetter = letters[i];

                    Assert.Equal(readerLetter.Value, writerLetter.Value);
                    Assert.Equal(readerLetter.Location, writerLetter.Location, pointComparer);
                    Assert.Equal(readerLetter.FontSize, writerLetter.FontSize, comparer);
                    Assert.Equal(readerLetter.GlyphRectangle.Width, writerLetter.GlyphRectangle.Width, comparer);
                    Assert.Equal(readerLetter.GlyphRectangle.Height, writerLetter.GlyphRectangle.Height, comparer);
                    Assert.Equal(readerLetter.GlyphRectangle.BottomLeft, writerLetter.GlyphRectangle.BottomLeft, pointComparer);
                }
            }
        }
 static ChartCommon()
 {
     DefaultIntComparer           = new IntComparer();
     DefaultDoubleComparer        = new DoubleComparer();
     DefaultDoubleVector3Comparer = new DoubleVector3Comparer();
 }
Exemplo n.º 17
0
 public SoftmaxLayerTests()
 {
     _numberOfNeurons = 3;
     _comparer        = new DoubleComparer(4);
 }