Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/12/10 01:29:35 (14 years ago)
Author:
swagner
Message:

Removed unnecessary checks if the application manager is not null (#954).

Location:
trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs

    r3280 r3303  
    283283    private void InitializeSelectors() {
    284284      selectors = new List<ISelector>();
    285       if (ApplicationManager.Manager != null) selectors.AddRange(ApplicationManager.Manager.GetInstances<ISelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name));
     285      selectors.AddRange(ApplicationManager.Manager.GetInstances<ISelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name));
    286286      ParameterizeSelectors();
    287287    }
     
    300300    }
    301301    private void UpdateSelectors() {
    302       if (ApplicationManager.Manager != null) {
    303         ISelector oldSelector = SelectorParameter.Value;
    304         SelectorParameter.ValidValues.Clear();
    305         foreach (ISelector selector in Selectors.OrderBy(x => x.Name))
    306           SelectorParameter.ValidValues.Add(selector);
    307         if (oldSelector != null) {
    308           ISelector selector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSelector.GetType());
    309           if (selector != null) SelectorParameter.Value = selector;
    310         }
     302      ISelector oldSelector = SelectorParameter.Value;
     303      SelectorParameter.ValidValues.Clear();
     304      foreach (ISelector selector in Selectors.OrderBy(x => x.Name))
     305        SelectorParameter.ValidValues.Add(selector);
     306      if (oldSelector != null) {
     307        ISelector selector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSelector.GetType());
     308        if (selector != null) SelectorParameter.Value = selector;
    311309      }
    312310    }
    313311    private void UpdateCrossovers() {
    314       if (ApplicationManager.Manager != null) {
    315         ICrossover oldCrossover = CrossoverParameter.Value;
    316         CrossoverParameter.ValidValues.Clear();
    317         foreach (ICrossover crossover in Problem.Operators.OfType<ICrossover>().OrderBy(x => x.Name))
    318           CrossoverParameter.ValidValues.Add(crossover);
    319         if (oldCrossover != null) {
    320           ICrossover crossover = CrossoverParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldCrossover.GetType());
    321           if (crossover != null) CrossoverParameter.Value = crossover;
    322         }
     312      ICrossover oldCrossover = CrossoverParameter.Value;
     313      CrossoverParameter.ValidValues.Clear();
     314      foreach (ICrossover crossover in Problem.Operators.OfType<ICrossover>().OrderBy(x => x.Name))
     315        CrossoverParameter.ValidValues.Add(crossover);
     316      if (oldCrossover != null) {
     317        ICrossover crossover = CrossoverParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldCrossover.GetType());
     318        if (crossover != null) CrossoverParameter.Value = crossover;
    323319      }
    324320    }
    325321    private void UpdateMutators() {
    326       if (ApplicationManager.Manager != null) {
    327         IManipulator oldMutator = MutatorParameter.Value;
    328         MutatorParameter.ValidValues.Clear();
    329         foreach (IManipulator mutator in Problem.Operators.OfType<IManipulator>().OrderBy(x => x.Name))
    330           MutatorParameter.ValidValues.Add(mutator);
    331         if (oldMutator != null) {
    332           IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType());
    333           if (mutator != null) MutatorParameter.Value = mutator;
    334         }
     322      IManipulator oldMutator = MutatorParameter.Value;
     323      MutatorParameter.ValidValues.Clear();
     324      foreach (IManipulator mutator in Problem.Operators.OfType<IManipulator>().OrderBy(x => x.Name))
     325        MutatorParameter.ValidValues.Add(mutator);
     326      if (oldMutator != null) {
     327        IManipulator mutator = MutatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldMutator.GetType());
     328        if (mutator != null) MutatorParameter.Value = mutator;
    335329      }
    336330    }
  • trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/Tests/UnitTest.cs

    r3265 r3303  
    2323using System.Threading;
    2424using HeuristicLab.Common;
     25using HeuristicLab.Data;
    2526using HeuristicLab.Optimization;
    2627using HeuristicLab.Persistence.Default.Xml;
     
    9091      trigger.WaitOne();
    9192      TestContext.WriteLine("Runtime: {0}", ga.ExecutionTime.ToString());
     93
     94      double expectedBestQuality = 12332.0;
     95      double expectedAverageQuality = 13123.2;
     96      double expectedWorstQuality = 14538.0;
     97      double bestQuality = (ga.Results["Current Best Quality"].Value as DoubleValue).Value;
     98      double averageQuality = (ga.Results["Current Average Quality"].Value as DoubleValue).Value;
     99      double worstQuality = (ga.Results["Current Worst Quality"].Value as DoubleValue).Value;
     100
     101      TestContext.WriteLine("");
     102      TestContext.WriteLine("Current Best Quality: {0} (should be {1})", bestQuality, expectedBestQuality);
     103      TestContext.WriteLine("Current Average Quality: {0} (should be {1})", averageQuality, expectedAverageQuality);
     104      TestContext.WriteLine("Current Worst Quality: {0} (should be {1})", worstQuality, expectedWorstQuality);
     105
     106      Assert.AreEqual(bestQuality, expectedBestQuality);
     107      Assert.AreEqual(averageQuality, expectedAverageQuality);
     108      Assert.AreEqual(worstQuality, expectedWorstQuality);
     109
    92110      if (ex != null) throw ex;
    93111    }
Note: See TracChangeset for help on using the changeset viewer.