Exemple #1
0
        private void PatternsForm_Paint(object sender, PaintEventArgs e)
        {
            gs = e.Graphics;
            Map.Map.Graphics = e.Graphics;

            map.DrawMap();

            foreach (IObjectBuilder bl in map.MapObjects)
            {
                if (bl is CircleBuilder)
                {
                    bl.formGraphics = e.Graphics;
                    (bl as CircleBuilder).DrawObject();
                }
                else
                {
                    bl.formGraphics = e.Graphics;
                    (bl as RectangleBuilder).DrawObject();
                }
            }

            if (!FormLoaded)
            {
                IUnitFactory factory = new CircleFactory();
                for (int i = 0; i < 50; i++)
                {
                    if (i > 25)
                    {
                        factory = new RectangleFactory();
                    }
                    if (factory is CircleFactory)
                    {
                        IObjectBuilder cl   = factory.ObjectBuilder as CircleBuilder;
                        CircleBuilder  temp = CircleBuilder.CopyCircle(cl as CircleBuilder);
                        (cl as CircleBuilder).Draw(cl, map, Tasks);
                        temp.Draw(temp, map, Tasks);
                    }
                    else
                    {
                        IObjectBuilder cl = factory.ObjectBuilder as Factory.Rectangle.RectangleBuilder;
                        (cl as Factory.Rectangle.RectangleBuilder).Draw(cl, map, Tasks);
                    }
                    FormLoaded = true;
                }
                foreach (IObjectBuilder cl in map.MapObjects)
                {
                    if (cl is CircleBuilder)
                    {
                        (cl as CircleBuilder)._thisObject.X = new Random(cl.GetHashCode()).Next(1, 1000);
                        (cl as CircleBuilder)._thisObject.Y = new Random(cl.GetHashCode()).Next(1, 1000);
                    }
                    else
                    {
                        (cl as RectangleBuilder)._thisObject.X = new Random(cl.GetHashCode()).Next(1, 1000);
                        (cl as RectangleBuilder)._thisObject.Y = new Random(cl.GetHashCode()).Next(1, 1000);
                    }
                }
            }
        }
 public void GetArea_Radius_Exception()
 {
     // Arange
     double        Radius         = 0;
     FigureBuilder circleBuilder1 = new CircleBuilder("CircleFigure");
     Figures       circleFigure1  = circleBuilder1.Create(Radius);
     //Act
     var result = circleFigure1.GetArea();
 }
        public void GetArea_Radius_Result()
        {
            // Arange
            FigureBuilder circleBuilder1 = new CircleBuilder("CircleFigure");
            Figures       circleFigure1  = circleBuilder1.Create(3);
            double        expected       = 28.27;
            //Act
            var result = circleFigure1.GetArea();

            // Assert
            Assert.AreEqual(expected, result, 0.01);
        }
        public void Equals1_CircleFigure_True()
        {
            // Arange
            double[]     radius        = { 3 };
            CircleFigure circleFigure2 = new CircleFigure(radius);

            FigureBuilder circleBuilder1 = new CircleBuilder("CircleFigure");
            Figures       circleFigure1  = circleBuilder1.Create(3);
            //Act
            var result = CircleFigure.Equals1(circleFigure1, circleFigure2);

            // Assert
            Assert.IsTrue(result);
        }
        public void CircleFigure_String_String()
        {
            // Arange
            double[]      radius         = { 3 };
            CircleFigure  circleFigure2  = new CircleFigure(radius);
            FigureBuilder circleBuilder1 = new CircleBuilder("CircleFigure");
            Figures       circleFigure1  = circleBuilder1.Create(3);
            string        expected       = "ќкружность с площадью " + circleFigure2.GetArea() + " и периметром " + circleFigure2.GetPerimeter();
            //Act
            var result = circleFigure1.ToString();

            // Assert
            Assert.AreEqual(expected, result);
        }
Exemple #6
0
 public void StartElement(string uri, string localName, string qName, IEnumerable <XAttribute> attributes)
 {
     try {
         if ("rendertheme".Equals(qName))
         {
             CheckState(qName, Element.RenderTheme);
             this.renderTheme = new RenderThemeBuilder(qName, attributes).build();
         }
         else if (ElementNameRule.Equals(qName))
         {
             CheckState(qName, Element.Rule);
             Rule rule = new RuleBuilder(qName, attributes, this.ruleStack).build();
             if (this.ruleStack.Count != 0)
             {
                 this.currentRule.AddSubRule(rule);
             }
             this.currentRule = rule;
             this.ruleStack.Push(this.currentRule);
         }
         else if ("area".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             Area area = new AreaBuilder(qName, attributes, this.level++, this.relativePathPrefix).build();
             this.currentRule.AddRenderingInstruction(area);
         }
         else if ("caption".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             Caption caption = new CaptionBuilder(qName, attributes).build();
             this.currentRule.AddRenderingInstruction(caption);
         }
         else if ("circle".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             Circle circle = new CircleBuilder(qName, attributes, this.level++).build();
             this.currentRule.AddRenderingInstruction(circle);
         }
         else if ("line".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             Line line = new LineBuilder(qName, attributes, this.level++, this.relativePathPrefix).build();
             this.currentRule.AddRenderingInstruction(line);
         }
         else if ("lineSymbol".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             LineSymbol lineSymbol = new LineSymbolBuilder(qName, attributes,
                                                           this.relativePathPrefix).build();
             this.currentRule.AddRenderingInstruction(lineSymbol);
         }
         else if ("pathText".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             PathText pathText = new PathTextBuilder(qName, attributes).build();
             this.currentRule.AddRenderingInstruction(pathText);
         }
         else if ("symbol".Equals(qName))
         {
             CheckState(qName, Element.RenderingInstruction);
             Symbol symbol = new SymbolBuilder(qName, attributes, this.relativePathPrefix).build();
             this.currentRule.AddRenderingInstruction(symbol);
         }
         else
         {
             throw new XmlException("unknown element: " + qName);
         }
     } catch (IOException e) {
         throw new XmlException(null, e);
     }
 }