示例#1
0
        public void GetTableAreas()
        {
            var l0 = TestHelper.MakeTextLine(new float[] { 72.0f, 702.8702f, 527.555f, 717.87f }, "l0");
            var l1 = TestHelper.MakeTextLine(new float[] { 93.59f, 685.65f, 229.41f, 700.65f }, "l1");
            var l2 = TestHelper.MakeTextLine(new float[] { 71.99f, 660.03469f, 90.34772f, 671.0147f }, "l2");
            var l3 = TestHelper.MakeTextLine(new float[] { 100.799f, 659.82f, 392.513f, 671.8205f }, "l3");
            var l4 = TestHelper.MakeTextLine(new float[] { 71.995f, 641.1378f, 99.5225f, 652.1178f }, "l4");
            var l5 = TestHelper.MakeTextLine(new float[] { 107.999f, 641.1378f, 401.308f, 652.1178f }, "l5");

            // generate
            TextEdges tes = new TextEdges();

            tes.Generate(new TextLine[] { l0, l1, l2, l3, l4, l5 });

            tes.TextedgesForTest["left"][0].IsValid = true; // force one valid

            var relevant = tes.GetRelevant();

            var l6    = TestHelper.MakeTextLine(new float[] { 100.799f, 650f, 392.513f, 660f }, "l6");
            var areas = tes.GetTableAreas(new TextLine[] { l0, l1, l2, l3, l4, l5, l6 }, relevant);

            Assert.Single(areas);
            Assert.Equal(61.98999f, areas.Keys.First().Item1, 4);
            Assert.Equal(631.1378f, areas.Keys.First().Item2, 4);
            Assert.Equal(537.555f, areas.Keys.First().Item3, 4);
            Assert.Equal(778.54165f, areas.Keys.First().Item4, 4);
            Assert.Null(areas.Values.First());
        }
示例#2
0
        public void GetRelevant()
        {
            var l0 = TestHelper.MakeTextLine(new float[] { 72.0f, 702.8702f, 527.555f, 717.87f }, "l0");
            var l1 = TestHelper.MakeTextLine(new float[] { 93.59f, 685.65f, 229.41f, 700.65f }, "l1");
            var l2 = TestHelper.MakeTextLine(new float[] { 71.99f, 660.03469f, 90.34772f, 671.0147f }, "l2");
            var l3 = TestHelper.MakeTextLine(new float[] { 100.799f, 659.82f, 392.513f, 671.8205f }, "l3");
            var l4 = TestHelper.MakeTextLine(new float[] { 71.995f, 641.1378f, 99.5225f, 652.1178f }, "l4");
            var l5 = TestHelper.MakeTextLine(new float[] { 107.999f, 641.1378f, 401.308f, 652.1178f }, "l5");

            // generate
            TextEdges tes = new TextEdges();

            tes.Generate(new TextLine[] { l0, l1, l2, l3, l4, l5 });

            var relevant = tes.GetRelevant();

            Assert.Equal(FooTextEdgesRelevant.Length, relevant.Count);

            for (int r = 0; r < relevant.Count; r++)
            {
                Assert.Equal(FooTextEdgesRelevant[r], relevant[r].ToString());
            }
        }