Пример #1
0
        public void CanCreateObjectAdapterForModernGraphicRendererAndDrawLineWithColor()
        {
            var writer   = new StringWriter();
            var renderer = new ModernGraphicsRenderer(writer);
            var adapter  = new MGRendererObjectAdapter(renderer);

            var startX    = 1;
            var startY    = 1;
            var endX      = 10;
            var endY      = 20;
            var testColor = Color.Coral;

            adapter.Renderer.BeginDraw();
            adapter.SetColor((uint)testColor.ToArgb());
            adapter.MoveTo(startX, startY);
            adapter.LineTo(endX, endY);
            adapter.Renderer.EndDraw();

            var testString = new StringWriter();

            testString.WriteLine("<draw>");
            testString.WriteLine($"<line fromX={startX} fromY={startY} toX={endX} toY={endY}>");
            testString.WriteLine($"<color r={testColor.R} g={testColor.G} b={testColor.B} a={testColor.A} />");
            testString.WriteLine($"</line>");
            testString.WriteLine("</draw>");
            Assert.AreEqual(testString.ToString(), writer.ToString());
        }
Пример #2
0
        public void SetColor_And_LineTo_WithParameters_ShouldDrawTwoLines()
        {
            var sw       = new StringWriter();
            var point1   = new Point(5, 10);
            var point2   = new Point(15, 10);
            var renderer = new ModernGraphicsRenderer(sw);
            var adapter  = new ObjectAdapter(renderer);

            renderer.BeginDraw();
            adapter.SetColor(0x00FF00);
            adapter.MoveTo(point1.X, point1.Y);
            adapter.LineTo(point2.X, point2.Y);
            adapter.LineTo(point1.X, point1.Y);
            renderer.EndDraw();

            var expected = new StringWriter();

            expected.WriteLine("<draw>");
            expected.WriteLine($"  <line fromX={point1.X} fromY={point1.Y} toX={point2.X} toY={point2.Y}>");
            expected.WriteLine("    <color r=0 g=1 b=0 a=1/>");
            expected.WriteLine("  </line>");
            expected.WriteLine($"  <line fromX={point2.X} fromY={point2.Y} toX={point1.X} toY={point1.Y}>");
            expected.WriteLine("    <color r=0 g=1 b=0 a=1/>");
            expected.WriteLine("  </line>");
            expected.WriteLine("</draw>");

            Assert.AreEqual(expected.ToString(), sw.ToString());
        }
Пример #3
0
        public void LineToWithoutBeginDrawTest()
        {
            StringWriter stringWriter = new StringWriter();
            var          renderer     = new ModernGraphicsRenderer(stringWriter);
            var          adapter      = new MGRendererAdapter(renderer);

            Assert.ThrowsException <Exception>(() => adapter.LineTo(0, 0));
        }
Пример #4
0
        private static void PaintPictureOnModernGraphicsRendererWithObjectAdapter()
        {
            var renderer = new ModernGraphicsRenderer(Console.Out);
            var modernGrapicsObjectAdapter = new ModernGrapicsObjectAdapter(renderer);
            var painter = new CanvasPainter(modernGrapicsObjectAdapter);

            PaintPicture(painter);
        }
Пример #5
0
        public void LineTo_WithoutBeginDraw_ShouldThrowException()
        {
            var sw       = new StringWriter();
            var point    = new Point(5, 10);
            var renderer = new ModernGraphicsRenderer(sw);
            var adapter  = new ObjectAdapter(renderer);

            adapter.LineTo(point.X, point.Y);
        }
Пример #6
0
        public void CanThrowExceptionIfCallLineToWithoutBeginDrawMethod()
        {
            var writer   = new StringWriter();
            var renderer = new ModernGraphicsRenderer(writer);
            var adapter  = new MGRendererObjectAdapter(renderer);

            var x = 10;
            var y = 20;

            Assert.ThrowsException <LogicErrorException>(() => adapter.LineTo(x, y));
        }
Пример #7
0
        public void MoveToTest()
        {
            StringWriter stringWriter       = new StringWriter();
            StringWriter resultStringWriter = new StringWriter();
            var          renderer           = new ModernGraphicsRenderer(stringWriter);

            using (var adapter = new MGRendererAdapter(renderer))
            {
                adapter.BeginDraw();
                adapter.MoveTo(0, 0);
            }
            resultStringWriter.WriteLine("<draw>");
            resultStringWriter.WriteLine("</draw>");
            Assert.AreEqual(resultStringWriter.ToString(), stringWriter.ToString());
        }
Пример #8
0
        public static void PaintPictureOnMGRObjectAdapter()
        {
            ModernGraphicsRenderer renderer      = new ModernGraphicsRenderer(Console.Out);
            ObjectAdapter          objectAdapter = new ObjectAdapter(renderer);
            CanvasPainter          painter       = new CanvasPainter(objectAdapter);

            try
            {
                renderer.BeginDraw();
                PaintPicture(painter);
                renderer.EndDraw();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Пример #9
0
        private void PaintPictureOnMGRendererObjectAdapter()
        {
            var renderer = new ModernGraphicsRenderer(Console.Out);
            var adapter  = new MGRendererObjectAdapter(renderer);
            var painter  = new CanvasPainter(adapter);

            try
            {
                adapter.Renderer.BeginDraw();
                PaintPicture(painter);
                adapter.Renderer.EndDraw();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Пример #10
0
        public void LineToWithDefaultColorTest()
        {
            StringWriter stringWriter       = new StringWriter();
            StringWriter resultStringWriter = new StringWriter();
            var          renderer           = new ModernGraphicsRenderer(stringWriter);

            using (var adapter = new MGRendererAdapter(renderer))
            {
                adapter.BeginDraw();
                adapter.MoveTo(5, 5);
                adapter.LineTo(10, 10);
            }
            resultStringWriter.WriteLine("<draw>");
            resultStringWriter.WriteLine("<line fromX=5 fromY=5 toX=10 toY=10>");
            resultStringWriter.WriteLine("  <color r=\"0\" g=\"0\" b=\"0\" a=\"0\" />");
            resultStringWriter.WriteLine("</line>");
            resultStringWriter.WriteLine("</draw>");
            Assert.AreEqual(resultStringWriter.ToString(), stringWriter.ToString());
        }
Пример #11
0
        public void CanCreateObjectAdapterForModernGraphicRendererAndDrawLineFromStartPosition()
        {
            var writer   = new StringWriter();
            var renderer = new ModernGraphicsRenderer(writer);
            var adapter  = new MGRendererObjectAdapter(renderer);

            var x = 10;
            var y = 20;

            adapter.Renderer.BeginDraw();
            adapter.LineTo(x, y);
            adapter.Renderer.EndDraw();

            var testString = new StringWriter();

            testString.WriteLine("<draw>");
            testString.WriteLine($"<line fromX={0} fromY={0} toX={x} toY={y}/>");
            testString.WriteLine("</draw>");
            Assert.AreEqual(testString.ToString(), writer.ToString());
        }
Пример #12
0
        public void LineTo_WithParameters_WithoutSetColor_ShouldDrawLineFromStartPoint()
        {
            var sw       = new StringWriter();
            var point    = new Point(5, 10);
            var renderer = new ModernGraphicsRenderer(sw);
            var adapter  = new ObjectAdapter(renderer);

            renderer.BeginDraw();
            adapter.LineTo(point.X, point.Y);
            renderer.EndDraw();

            var expected = new StringWriter();

            expected.WriteLine("<draw>");
            expected.WriteLine($"  <line fromX=0 fromY=0 toX={point.X} toY={point.Y}>");
            expected.WriteLine("    <color r=0 g=0 b=0 a=1/>");
            expected.WriteLine("  </line>");
            expected.WriteLine("</draw>");

            Assert.AreEqual(expected.ToString(), sw.ToString());
        }
Пример #13
0
        public void CanCreateObjectAdapterForModernGraphicRendererAndDrawLine()
        {
            var writer   = new StringWriter();
            var renderer = new ModernGraphicsRenderer(writer);
            var adapter  = new MGRendererObjectAdapter(renderer);

            var startX = 1;
            var startY = 1;
            var endX   = 10;
            var endY   = 20;

            adapter.Renderer.BeginDraw();
            adapter.MoveTo(startX, startY);
            adapter.LineTo(endX, endY);
            adapter.Renderer.EndDraw();

            var testString = new StringWriter();

            testString.WriteLine("<draw>");
            testString.WriteLine($"<line fromX={startX} fromY={startY} toX={endX} toY={endY}/>");
            testString.WriteLine("</draw>");
            Assert.AreEqual(testString.ToString(), writer.ToString());
        }
Пример #14
0
        public static void PaintPictureOnModernGraphicsRenderer(bool useClassAdapter = false)
        {
            ModernGraphicsRenderer renderer = new ModernGraphicsRenderer(Console.Out);

            if (useClassAdapter)
            {
                using (var adapter = new MGREndererClassAdapter(Console.Out))
                {
                    CanvasPainter painter = new CanvasPainter(adapter);
                    adapter.BeginDraw();
                    PaintPicture(painter);
                }
            }
            else
            {
                using (var adapter = new MGRendererAdapter(renderer))
                {
                    CanvasPainter painter = new CanvasPainter(adapter);
                    adapter.BeginDraw();
                    PaintPicture(painter);
                }
            }
        }
Пример #15
0
 public MGRendererAdapter(ModernGraphicsRenderer renderer)
 {
     _renderer = renderer;
 }
Пример #16
0
 public ModernGrapicsObjectAdapter(ModernGraphicsRenderer modernGraphicsRenderer)
 {
     _modernGraphicsRenderer = modernGraphicsRenderer;
 }
Пример #17
0
 public MGRendererObjectAdapter(ModernGraphicsRenderer renderer)
 {
     _startPoint = new Point(0, 0);
     Renderer    = renderer;
 }
Пример #18
0
 public MGRendererObjectAdapter(ModernGraphicsRenderer renderer)
 {
     Renderer = renderer;
 }
Пример #19
0
 public ObjectAdapter(ModernGraphicsRenderer renderer)
 {
     _renderer = renderer;
 }