static void Main(string[] args) { //Circle krug = new Circle(3); //double fside = 3; //double sside = 4; //double tside = 5; //if (Triangle.IsValidTriangle(fside, sside, tside)) //{ // Triangle triangle = new Triangle(fside, sside, tside); // Console.WriteLine(triangle.GetArea()); //} //else //{ // Console.WriteLine("That is not valid"); //} //double side = -2; //if (Square.IsValid(side)) //{ // Square square = new Square(side); // Console.WriteLine(square.GetArea()); //} //else //{ // Console.WriteLine("That is not valid"); //} ShapeCollection shapes = new ShapeCollection(); shapes.AddShape(new Circle(10)); shapes.AddShape(new Triangle(3, 4, 5)); shapes.AddShape(new Triangle(3, 10, 12)); shapes.AddShape(new Square(10)); Console.WriteLine($"There are {shapes.Count()} shapes"); Console.WriteLine($"Total area is {shapes.TotalArea()} "); Console.WriteLine($"Total perimeter is {shapes.TotalPerimeter()} "); Console.WriteLine($"Average area is {shapes.GetAverageArea()} "); Console.WriteLine($"Average area is {Helper.GetAverageArea(shapes)} "); Console.WriteLine(Helper.IsEven(2)); Console.WriteLine(Helper.IsEven(3)); Console.WriteLine(2.IsEven()); Console.WriteLine(3.IsEven()); var x = 10; Console.WriteLine(Helper.AddOne(Helper.Double(Helper.Square(x)))); Console.WriteLine(x.Square().Double().AddOne()); Triangle t = new Triangle(3, 7, 9); // these two are completely the same Console.WriteLine(IShapeHelper.GetRatio(t)); Console.WriteLine(t.GetRatio()); // these two are completely the same Console.WriteLine(IShapeHelper.GetMultipliedArea(t, 3)); Console.WriteLine(t.GetMultipliedArea(3)); }