Exemplo n.º 1
0
        public void CropPrintArea()
        {
            RectangleF printArea = RectangleF.FromLTRB(10, 40, 120, 90);
            RectangleF result;
            float      area;

            // Printable area bigger than printArea -- should just get printArea back.
            result = CoursePageLayout.CropPrintArea(printArea, RectangleF.FromLTRB(30, 40, 140, 80), new SizeF(110, 100), out area);
            Assert.AreEqual(printArea, result);
            Assert.AreEqual(90 * 40, area);

            // Printable area smaller than print area, larger than courseObjects
            result = CoursePageLayout.CropPrintArea(printArea, RectangleF.FromLTRB(25, 30, 80, 60), new SizeF(70, 40), out area);
            Assert.AreEqual(RectangleF.FromLTRB(17.5F, 40, 87.5F, 80), result);
            Assert.AreEqual(55 * 20, area);

            result = CoursePageLayout.CropPrintArea(printArea, RectangleF.FromLTRB(25, 60, 80, 85), new SizeF(70, 40), out area);
            Assert.AreEqual(RectangleF.FromLTRB(17.5F, 50, 87.5F, 90), result);
            Assert.AreEqual(55 * 25, area);

            // Printable area smaller than  courseObjects
            result = CoursePageLayout.CropPrintArea(printArea, RectangleF.FromLTRB(25, 30, 80, 60), new SizeF(15, 10), out area);
            Assert.AreEqual(RectangleF.FromLTRB(45, 40, 60, 50), result);
            //Assert.AreEqual(55 * 20, area);
        }
Exemplo n.º 2
0
        public void LayoutPageDimensionScaleRatio()
        {
            // Would fit on one page with 1.0 scale ratio. Now requires 2.
            List <CoursePageLayout.DimensionLayout> result = new List <CoursePageLayout.DimensionLayout>(
                CoursePageLayout.LayoutPageDimension(-10.0F, 200.0F, 50F, 1000F, 0.5F));

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(-10.0F, result[0].startMap, 0.01F);
            Assert.AreEqual(127.0F, result[0].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[0].startPage, 0.01F);
            Assert.AreEqual(1000F, result[0].lengthPage, 0.01F);
            Assert.AreEqual(63.0F, result[1].startMap, 0.01F);
            Assert.AreEqual(127.0F, result[1].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[1].startPage, 0.01F);
            Assert.AreEqual(1000F, result[1].lengthPage, 0.01F);
        }
Exemplo n.º 3
0
        public void LayoutPageDimension()
        {
            // Should fit on one page
            List <CoursePageLayout.DimensionLayout> result = new List <CoursePageLayout.DimensionLayout>(
                CoursePageLayout.LayoutPageDimension(-10.0F, 240.0F, 50F, 1000F, 1.0F));

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(-10.0F, result[0].startMap);
            Assert.AreEqual(240.0F, result[0].lengthMap);
            Assert.AreEqual(77.56F, result[0].startPage, 0.01F);
            Assert.AreEqual(944.88F, result[0].lengthPage, 0.01F);

            // Fit on two pages
            result = new List <CoursePageLayout.DimensionLayout>(
                CoursePageLayout.LayoutPageDimension(-100.0F, 380.0F, 50F, 1000F, 1.0F));
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(-100.0F, result[0].startMap);
            Assert.AreEqual(254.0F, result[0].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[0].startPage, 0.01F);
            Assert.AreEqual(1000F, result[0].lengthPage, 0.01F);
            Assert.AreEqual(26.0F, result[1].startMap);
            Assert.AreEqual(254.0F, result[1].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[1].startPage, 0.01F);
            Assert.AreEqual(1000F, result[1].lengthPage, 0.01F);

            // Barely fit 3 pages, with minimum 1 inch overlap.
            result = new List <CoursePageLayout.DimensionLayout>(
                CoursePageLayout.LayoutPageDimension(-100.0F, 710.0F, 50F, 1000F, 1.0F));
            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(-100.0F, result[0].startMap);
            Assert.AreEqual(254.0F, result[0].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[0].startPage, 0.01F);
            Assert.AreEqual(1000F, result[0].lengthPage, 0.01F);
            Assert.AreEqual(128.0F, result[1].startMap, 0.01);
            Assert.AreEqual(254.0F, result[1].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[1].startPage, 0.01F);
            Assert.AreEqual(1000F, result[1].lengthPage, 0.01F);
            Assert.AreEqual(356.0F, result[2].startMap, 0.01F);
            Assert.AreEqual(254.0F, result[2].lengthMap, 0.01F);
            Assert.AreEqual(50F, result[2].startPage, 0.01F);
            Assert.AreEqual(1000F, result[2].lengthPage, 0.01F);

            // Must go onto 4 pages
            result = new List <CoursePageLayout.DimensionLayout>(
                CoursePageLayout.LayoutPageDimension(-100.0F, 715.0F, 50F, 1000F, 1.0F));
            Assert.AreEqual(4, result.Count);
        }