コード例 #1
0
    public void CalculateGreatCircleDistance_BnaToLax()
    {
        var actual = FlyingSalespersonProblem.
                     CalculateGreatCircleDistance
                         (36.12, -86.67, 33.94, -118.40);

        Assert.AreEqual(2887.26, actual, 0.01);
    }
コード例 #2
0
 public void ToRadians()
 {
     Assert.AreEqual(0.0,
                     FlyingSalespersonProblem.ToRadians(0.0),
                     0.0001);
     Assert.AreEqual(Math.PI,
                     FlyingSalespersonProblem.ToRadians(180.0),
                     0.0001);
     Assert.AreEqual(2 * Math.PI,
                     FlyingSalespersonProblem.ToRadians(360.0),
                     0.0001);
 }
コード例 #3
0
  public void ComputeTourLength_BnaToLax ()
  {
    // arrange
    var cities = new double[][]
    {
      new double[] {1, 36.12, -86.67},
      new double[] {2, 33.94, -118.40},
    };
    var fsp = new FlyingSalespersonProblem(cities);
    fsp.VisitingOrder[0] = 1;
    fsp.VisitingOrder[1] = 2;

    // act
    // since we computed to AND from, we divide by 2
    var actual = fsp.ComputeTourLength() / 2;

    // assert
    Assert.AreEqual(2887.26, actual, 0.01);
  }
コード例 #4
0
    public void ComputeTourLength_BnaToLax()
    {
        // arrange
        var cities = new double[][]
        {
            new double[] { 1, 36.12, -86.67 },
            new double[] { 2, 33.94, -118.40 },
        };
        var fsp = new FlyingSalespersonProblem(cities);

        fsp.VisitingOrder[0] = 1;
        fsp.VisitingOrder[1] = 2;

        // act
        // since we computed to AND from, we divide by 2
        var actual = fsp.ComputeTourLength() / 2;

        // assert
        Assert.AreEqual(2887.26, actual, 0.01);
    }