static void DijkstraTest()
        {
            WayCreator wayCreator = new WayCreator();

            City[] cities = CitiesInfo.Cities;
            int[,] distances = CitiesInfo.Distances;

            int[] citiesWeight = wayCreator.Dijkstra(distances, 3);

            for (int i = 0; i < cities.Length; i++)
            {
                Console.WriteLine(cities[i].Name + " " + citiesWeight[i]);
            }

            int index = 1;

            foreach (TwoWayLinkedList list in wayCreator.intermediateCities)
            {
                Console.Write(index++.ToString() + ". ");
                foreach (City city in list)
                {
                    Console.Write(city.Name + " ");
                }
                Console.WriteLine();
            }
        }
        static void GetRouteTest()
        {
            WayCreator       wayCreator   = new WayCreator();
            TwoWayLinkedList chosenCities = new TwoWayLinkedList();
            City             startPoint   = CitiesInfo.Cities[0]; // Berlin

            chosenCities.PushLast(CitiesInfo.Cities[1]);          // Kiev
            chosenCities.PushLast(CitiesInfo.Cities[6]);          // Budapesht
            chosenCities.PushLast(CitiesInfo.Cities[2]);          // Minsk
            //chosenCities.PushLast(CitiesInfo.Cities()[3]); // Warsaw
            chosenCities.PushLast(CitiesInfo.Cities[5]);          // Vien
            chosenCities.PushLast(CitiesInfo.Cities[4]);          // Prague
            TwoWayLinkedList route = wayCreator.GetRoute(chosenCities, startPoint);
            int index = 1;

            foreach (City city in route)
            {
                Console.WriteLine(index++.ToString() + ". " + city.Name);
            }
        }
        static void CitiesInfo_Distances_NewTest()
        {
            WayCreator       wayCreator   = new WayCreator();
            Random           random       = new Random();
            TwoWayLinkedList chosenCities = new TwoWayLinkedList();
            City             startPoint   = CitiesInfo.Cities[0];

            foreach (City city in CitiesInfo.Cities)
            {
                if (!chosenCities.Contains(city))
                {
                    chosenCities.PushLast(city);
                }
            }
            TwoWayLinkedList route = wayCreator.GetRoute(chosenCities, startPoint);
            int index = 1;

            foreach (City city in route)
            {
                Console.WriteLine(index++.ToString() + ". " + city.Name);
            }
        }
 void OnEnable()
 {
     creator        = (WayCreator)target;
     style          = new GUIStyle();
     style.fontSize = 30;
 }