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)));
        }
示例#3
0
        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
        }