public static void Main(string[] args)
        {
            // 12. Call history test:
            // Write a class GSMCallHistoryTest to test the call history functionality
            // of the GSM class.
            // - Create an instance of the GSM class.
            // - Add few calls.
            // - Display the information about the calls.
            // - Assuming that the price per minute is 0.37 calculate and print the total
            // price of the calls in the history.
            // - Remove the longest call from the history and calculate the total price again.
            // - Finally clear the call history and print it.

            const decimal priceForMinute = 0.37M;

            GSM mobilePhone = new GSM("Lumia 720", "Nokia", null, "Pesho I. Petrov");

            Console.ForegroundColor = ConsoleColor.White;
            mobilePhone.AddCall("0888 888 888", 37);
            mobilePhone.AddCall("0999 999 999", 79);
            mobilePhone.AddCall("0111 222 222", 189);
            mobilePhone.AddCall("0222 222 222", 163);
            mobilePhone.AddCall("0333 333 333", 245);

            foreach (var call in mobilePhone.CallHistory)
            {
                Console.WriteLine(call);
            }

            Console.WriteLine("The total price is: {0}",
                mobilePhone.TotalPriceOfTheCalls(priceForMinute));

            var longestCall = mobilePhone
                .CallHistory
                .OrderByDescending(x => x.DurationSeconds)
                .FirstOrDefault();

            mobilePhone.DeleteCall(longestCall);

            Console.WriteLine("The total price without longest call is: {0}",
                                    mobilePhone.TotalPriceOfTheCalls(priceForMinute));

            mobilePhone.ClearCallHistory();

            Console.WriteLine();
            Console.WriteLine("Prints all calls to show that history is empty.");

            foreach (var call in mobilePhone.CallHistory)
            {
                Console.WriteLine(call);
            }

            Console.WriteLine();
        }
        public static void Main(string[] args)
        {
            // 07. GSM test:
            // Write a class GSMTest to test the GSM class:
            // Create an array of few instances of the GSM class.
            // Display the information about the GSMs in the array.
            // Display the information about the static property IPhone4S.

            GSM[] mobilePhone = new GSM[3];

            for (int i = 0; i < mobilePhone.Length; i++)
            {
                mobilePhone[i] = new GSM("Lumia 720", "Nokia", 890m, "Pesho I. Petrov",
                    new Battery(72m, 6m, BatteryType.LiIon),
                    new Display(8.7, "16M"));
            }

            mobilePhone[0].Owner = "Ivan P. Ivanov";
            mobilePhone[0].Battery.BatteryType = BatteryType.NiCd;
            mobilePhone[0].Display.NumberOfColors = "32M";
            mobilePhone[0].Battery.HoursIdle = 20m;

            mobilePhone[1].Price = 690.9m;
            mobilePhone[1].Battery.BatteryType = BatteryType.LiPol;
            mobilePhone[1].Display.Size = 6.4;
            mobilePhone[1].Battery.HoursTalk = 12.5m;

            mobilePhone[2] = GSM.IPhone4S;

            Console.ForegroundColor = ConsoleColor.White;

            for (int i = 0; i < mobilePhone.Length; i++)
            {
                Console.WriteLine(mobilePhone[i]);
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Green + i;
            }
        }