Example #1
0
        public void TestCompareVerticalOverlapRectangle()
        {
            TableRectangle lower = new TableRectangle(new PdfRectangle(0, 0, 10, 5));            //5f, 0f, 10f, 10f);
            TableRectangle upper = new TableRectangle(new PdfRectangle(10, 0, 20, 10));          //0f, 10f, 10f, 10f);

            Assert.True(lower.CompareTo(upper) < 0);
        }
Example #2
0
        public void TestCompareVerticalOverlapLessThresholdRectangle()
        {
            TableRectangle lower = new TableRectangle(new PdfRectangle(10, 0, 20, 10));    //0f, 10f, 10f, 10f);
            TableRectangle upper = new TableRectangle(new PdfRectangle(0, 9.8, 10, 19.8)); //9.8f, 0f, 10f, 10f);

            Assert.True(lower.CompareTo(upper) > 0);                                       // upper precedes lower (reading order) // was < 0
        }
Example #3
0
        public void TestCompareAlignedVerticalRectangle()
        {
            TableRectangle lower = new TableRectangle(new PdfRectangle(0, 10, 10, 20)); //10f, 0f, 10f, 10f);
            TableRectangle upper = new TableRectangle(new PdfRectangle(0, 20, 10, 30)); //20f, 0f, 10f, 10f);

            Assert.True(lower.CompareTo(upper) > 0);                                    // upper precedes lower (reading order) // was < 0
        }
Example #4
0
        public void TestCompareAlignedHorizontalRectangle()
        {
            TableRectangle lower = new TableRectangle(new PdfRectangle(10, 0, 20, 10));            //0f, 10f, 10f, 10f));
            TableRectangle upper = new TableRectangle(new PdfRectangle(20, 0, 30, 10));            //0f, 20f, 10f, 10f));

            Assert.True(lower.CompareTo(upper) < 0);
        }
Example #5
0
        [Fact]        //(Skip = "Comparison is not transitive. Transitivity needs to be implemented.")]
        public void TestTransitiveComparison1()
        {
            // +-------+
            // |       |
            // |   a   | +-------+
            // |       | |       |
            // +-------+ |   b   | +-------+
            //           |       | |       |
            //           +-------+ |   c   |
            //                     |       |
            //                     +-------+
            TableRectangle a = new TableRectangle(new PdfRectangle(0, 2, 2, 4));
            TableRectangle b = new TableRectangle(new PdfRectangle(1, 1, 3, 3));
            TableRectangle c = new TableRectangle(new PdfRectangle(2, 0, 4, 2));

            Assert.True(a.CompareTo(b) < 0);
            Assert.True(b.CompareTo(c) < 0);
            Assert.True(a.CompareTo(c) < 0);
        }
Example #6
0
        public void TestTransitiveComparison2()
        {
            // need to rewrite

            //                     +-------+
            //                     |       |
            //           +-------+ |   C   |
            //           |       | |       |
            // +-------+ |   B   | +-------+
            // |       | |       |
            // |   A   | +-------+
            // |       |
            // +-------+
            TableRectangle c = new TableRectangle(new PdfRectangle(0, 2, 2, 4));             // 2, 0, 2, 2); // a
            TableRectangle b = new TableRectangle(new PdfRectangle(1, 1, 3, 3));             // 1, 1, 2, 2);
            TableRectangle a = new TableRectangle(new PdfRectangle(2, 0, 4, 2));             // 0, 2, 2, 2); // c

            Assert.True(a.CompareTo(b) < 0);
            Assert.True(b.CompareTo(c) < 0);
            Assert.True(a.CompareTo(c) < 0);
        }
Example #7
0
        public void TestQuickSortOneUpperThanOther()
        {
            TableRectangle lower = new TableRectangle(new PdfRectangle(72.72, 175.72, 72.72 + 1.67, 175.72 + 1.52));             //175.72f, 72.72f, 1.67f, 1.52f); //, (Comma after AARON)

            Assert.Equal(1.67, lower.Width, 2);
            Assert.Equal(1.52, lower.Height, 2);

            TableRectangle upper = new TableRectangle(new PdfRectangle(161.16, 169.21, 161.16 + 4.33, 169.21 + 4.31));            //169.21f, 161.16f, 4.33f, 4.31f); // R (REGIONAL PULMONARY)

            Assert.Equal(4.33, upper.Width, 2);
            Assert.Equal(4.31, upper.Height, 2);

            Assert.True(lower.CompareTo(upper) < 0);             // > 0
        }
Example #8
0
        public void TestNaturalOrderOfRectanglesOneMoreTime()
        {
            var parse = UtilsForTesting.LoadCsvLines("Resources/csv/TestBasicExtractor-RECTANGLE_TEST_NATURAL_ORDER.csv");
            List <TableRectangle> rectangles = new List <TableRectangle>();

            foreach (var record in parse)
            {
                var    top  = double.Parse(record[0]);
                var    left = double.Parse(record[1]);
                double w    = double.Parse(record[2]);
                double h    = double.Parse(record[3]);

                rectangles.Add(new TableRectangle(new PdfRectangle(left, top, left + w, top + h)));
            }

            Utils.Sort(rectangles, new TableRectangle.ILL_DEFINED_ORDER());

            for (int i = 0; i < rectangles.Count - 1; i++)
            {
                TableRectangle rectangle     = rectangles[i];
                TableRectangle nextRectangle = rectangles[i + 1];
                Assert.True(rectangle.CompareTo(nextRectangle) < 0);
            }
        }