public void TestCircleArea() { double r = 0.123; double s = new ShapeAreaCalculator().GetArea(new ShapeFactory().CreateCircle(r)); Assert.AreEqual(s, Math.PI * Math.Pow(r, 2)); }
public void TestTriangleArea() { double a = 10; double b = 11; double c = 19; double s = new ShapeAreaCalculator().GetArea(new ShapeFactory().CreateTriangle(a, b, c)); double p = (a + b + c) / 2; Assert.AreEqual(s, Math.Sqrt(p * (p - a) * (p - b) * (p - c))); }
static void Main(string[] args) { IShapeAreaCalculator areaCalculator = new ShapeAreaCalculator(); var shapes = new List <Shape> { new Triangle(4, 3), // area = 6 new Circle(2), // area = pi new Rectangle(3, 2) // area = 6 }; areaCalculator.Calculate(shapes); // 22.5663706 Console.WriteLine(shapes[1].Name); // Circle }