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); }
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 }
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 }
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); }
[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); }
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); }
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 }
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); } }