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