public void CalcOptimalWays_Successfull() { string from="Питер"; string to="Сыктывкар"; double realDistance = 35; GraphMap map = new GraphMap(FilesDirectories.getFilePath(FilesDirectories.Лаба1оDirectory, FilesDirectories.GraphMap)); var privateObject = new PrivateObject(map); privateObject.Invoke("CalcOptimalWays"); double gotDistance = map.Distance(from, to); Assert.AreEqual(realDistance, gotDistance, 0.01, "Wrong optimal way between 2 points"); }
/// <summary> /// Считает стоимость 1 билета /// </summary> /// <param name="from">Откуда</param> /// <param name="to">Куда</param> /// <returns>Цена билета</returns> /// <exception cref="System.Exception">Ошибка расчёта расстояния или ошибка считывания количества проданных билетов из файла</exception>" public override double cost(string from, string to) { GraphMap map = new GraphMap(FilesDirectories.GraphMap); try { return fuelConsumption * fuelprice * map.Distance(from, to) / SoldTickets(FilesDirectories.GroundTransportTickets); } catch (Exception) { throw; } }
/// <summary> /// Расчёт стоимости 1 билета из одного пункта в другой /// </summary> /// <param name="from">Откуда</param> /// <param name="to">Куда</param> /// <returns></returns> public override double cost(string from, string to) { GraphMap map = new GraphMap(FilesDirectories.GraphMap); return fuelConsumption * fuelprice * map.Distance(from, to) / ticketsQuantity; }