Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/10/14 10:18:35 (10 years ago)
Author:
gkronber
Message:

#2106: changed methods for sorting in ObservableArray and ObservableList to use a stable sort (via Enumerable.OrderBy()). This is implemented as extension methods in HeuristicLab.Common. This implementation requires additional memory O(n).
The unit tests for tabu search had to be updated as the stable sort changes the results of the sample.
(minor bug fix in TestRandom)

Location:
trunk/sources/HeuristicLab.Tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Tests/HeuristicLab-3.3/SamplesTest.cs

    r9955 r10324  
    832832      ts.SetSeedRandomly.Value = false;
    833833      RunAlgorithm(ts);
    834       Assert.AreEqual(6441, GetDoubleResult(ts, "BestQuality"));
    835       Assert.AreEqual(7401.666666666667, GetDoubleResult(ts, "CurrentAverageQuality"));
    836       Assert.AreEqual(8418, GetDoubleResult(ts, "CurrentWorstQuality"));
     834      Assert.AreEqual(6294, GetDoubleResult(ts, "BestQuality"));
     835      Assert.AreEqual(7380.0386666666664, GetDoubleResult(ts, "CurrentAverageQuality"));
     836      Assert.AreEqual(8328, GetDoubleResult(ts, "CurrentWorstQuality"));
    837837      Assert.AreEqual(750000, GetIntResult(ts, "EvaluatedMoves"));
    838838    }
     
    903903      vrp.SetSeedRandomly.Value = false;
    904904      RunAlgorithm(vrp);
    905       Assert.AreEqual(1436, GetDoubleResult(vrp, "BestQuality"));
    906       Assert.AreEqual(2132.2478893442621, GetDoubleResult(vrp, "CurrentAverageQuality"));
    907       Assert.AreEqual(4176.0, GetDoubleResult(vrp, "CurrentWorstQuality"));
    908       Assert.AreEqual(119011, GetIntResult(vrp, "EvaluatedMoves"));
     905      Assert.AreEqual(1473, GetDoubleResult(vrp, "BestQuality"));
     906      Assert.AreEqual(2102.1192622950812, GetDoubleResult(vrp, "CurrentAverageQuality"));
     907      Assert.AreEqual(4006, GetDoubleResult(vrp, "CurrentWorstQuality"));
     908      Assert.AreEqual(119072, GetIntResult(vrp, "EvaluatedMoves"));
    909909    }
    910910
  • trunk/sources/HeuristicLab.Tests/TestRandom.cs

    r9456 r10324  
    6161
    6262    public TestRandom(int[] intNumbers, double[] doubleNumbers) {
    63       if (intNumbers == null) intNumbers = new int[0];
     63      if (intNumbers == null) this.intNumbers = new int[0];
    6464      else this.intNumbers = intNumbers;
    65       if (doubleNumbers == null) doubleNumbers = new double[0];
     65      if (doubleNumbers == null) this.doubleNumbers = new double[0];
    6666      else this.doubleNumbers = doubleNumbers;
    6767      nextIntIndex = 0;
Note: See TracChangeset for help on using the changeset viewer.