Changeset 14353
- Timestamp:
- 10/23/16 19:31:18 (8 years ago)
- Location:
- trunk/sources
- Files:
-
- 1 added
- 49 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithmMainLoop.cs
r14185 r14353 162 162 Comparator maxSelectionPressureComparator = new Comparator(); 163 163 Comparator maxEvaluatedSolutionsComparator = new Comparator(); 164 Comparator maxSolutionQualityComparator = new Comparator(); 164 165 Placeholder comparisonFactorModifier = new Placeholder(); 165 166 Placeholder analyzer2 = new Placeholder(); … … 167 168 ConditionalBranch conditionalBranch2 = new ConditionalBranch(); 168 169 ConditionalBranch conditionalBranch3 = new ConditionalBranch(); 170 ConditionalBranch conditionalBranch4 = new ConditionalBranch(); 169 171 170 172 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("Generations", new IntValue(0))); // Class OffspringSelectionGeneticAlgorithm expects this to be called Generations … … 223 225 maxEvaluatedSolutionsComparator.RightSideParameter.ActualName = "MaximumEvaluatedSolutions"; 224 226 227 maxSolutionQualityComparator.Comparison = new Comparison(ComparisonType.GreaterOrEqual); 228 maxSolutionQualityComparator.LeftSideParameter.ActualName = "MaximumQuality"; 229 maxSolutionQualityComparator.ResultParameter.ActualName = "TerminateMaximumQuality"; 230 maxSolutionQualityComparator.RightSideParameter.ActualName = "BestQuality"; 231 225 232 comparisonFactorModifier.Name = "Update ComparisonFactor (placeholder)"; 226 233 comparisonFactorModifier.OperatorParameter.ActualName = ComparisonFactorModifierParameter.Name; … … 237 244 conditionalBranch3.Name = "MaximumEvaluatedSolutions reached?"; 238 245 conditionalBranch3.ConditionParameter.ActualName = "TerminateEvaluatedSolutions"; 246 247 conditionalBranch4.Name = "MaximumQuality reached?"; 248 conditionalBranch3.ConditionParameter.ActualName = "TerminateMaximumQuality"; 239 249 #endregion 240 250 … … 249 259 maxGenerationsComparator.Successor = maxSelectionPressureComparator; 250 260 maxSelectionPressureComparator.Successor = maxEvaluatedSolutionsComparator; 251 maxEvaluatedSolutionsComparator.Successor = comparisonFactorModifier; 261 maxEvaluatedSolutionsComparator.Successor = maxSolutionQualityComparator; 262 maxSolutionQualityComparator.Successor = comparisonFactorModifier; 252 263 comparisonFactorModifier.Successor = analyzer2; 253 264 analyzer2.Successor = conditionalBranch1; … … 258 269 conditionalBranch2.TrueBranch = null; 259 270 conditionalBranch2.Successor = null; 260 conditionalBranch3.FalseBranch = mainOperator;271 conditionalBranch3.FalseBranch = conditionalBranch4; 261 272 conditionalBranch3.TrueBranch = null; 262 273 conditionalBranch3.Successor = null; 274 conditionalBranch4.FalseBranch = mainOperator; 275 conditionalBranch4.TrueBranch = null; 276 conditionalBranch4.Successor = null; 263 277 #endregion 264 278 } -
trunk/sources/HeuristicLab.Analysis/3.3/PopulationSimilarityAnalysis/PopulationSimilarityAnalyzer.cs
r14185 r14353 136 136 var similarityCalculators = SimilarityCalculatorParameter.ValidValues; 137 137 foreach (var similarityCalculator in similarityCalculators) { 138 if (similarityCalculator == null) continue; 138 139 similarityCalculator.ExecuteInParallel = ExecuteInParallel; 139 140 similarityCalculator.MaxDegreeOfParallelism = MaxDegreeOfParallelism; -
trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/Manager/ConfigManager.cs
r14185 r14353 70 70 slave.Name = Environment.MachineName; 71 71 if (Settings.Default.NrOfCoresToScavenge < 1 || Settings.Default.NrOfCoresToScavenge > Environment.ProcessorCount) { 72 slave.Cores = Environment.ProcessorCount ;72 slave.Cores = Environment.ProcessorCount / 2; 73 73 } else { 74 74 slave.Cores = Settings.Default.NrOfCoresToScavenge; -
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Grammars/GrammarUtils.cs
r14352 r14353 66 66 continue; 67 67 68 if (visited.Add(childSymbol)) {68 if (visited.Add(childSymbol)) 69 69 numberedSymbols.Add(Tuple.Create(childSymbol, ++index)); 70 }71 70 } 72 71 } … … 88 87 minLength = Math.Min(minLength, oldLength); 89 88 minimumExpressionLengths[symbol.Name] = (int)Math.Min(int.MaxValue, minLength); 89 } 90 // correction step for cycles 91 bool changed = true; 92 while (changed) { 93 changed = false; 94 foreach (var symbol in numberedSymbols.Select(x => x.Item1)) { 95 long minLength = Enumerable.Range(0, grammar.GetMinimumSubtreeCount(symbol)) 96 .Sum(x => grammar.GetAllowedChildSymbols(symbol, x) 97 .Min(s => (long)minimumExpressionLengths[s.Name])) + 1; 98 if (minLength < minimumExpressionLengths[symbol.Name]) { 99 minimumExpressionLengths[symbol.Name] = (int)Math.Min(minLength, int.MaxValue); 100 changed = true; 101 } 102 } 90 103 } 91 104 } … … 121 134 continue; 122 135 123 if (visited.Add(childSymbol)) {136 if (visited.Add(childSymbol)) 124 137 numberedSymbols.Add(Tuple.Create(childSymbol, ++index)); 125 }126 138 } 127 139 } … … 132 144 // going bottom-up (reverse breadth order), we ensure depths are calculated bottom-up 133 145 foreach (var symbol in numberedSymbols.Select(x => x.Item1)) { 134 long minDepth = int.MaxValue;146 long minDepth = -1; 135 147 for (int argIndex = 0; argIndex < grammar.GetMinimumSubtreeCount(symbol); ++argIndex) { 136 148 long depth = grammar.GetAllowedChildSymbols(symbol, argIndex) 137 149 .Where(x => minimumExpressionDepths.ContainsKey(x.Name)) 138 .Select(x => minimumExpressionDepths[x.Name]).DefaultIfEmpty(int.MaxValue).Min();139 minDepth = Math.M in(minDepth, depth + 1);150 .Select(x => (long)minimumExpressionDepths[x.Name]).DefaultIfEmpty(int.MaxValue).Min() + 1; 151 minDepth = Math.Max(minDepth, depth); 140 152 } 141 153 int oldDepth; … … 143 155 minDepth = Math.Min(minDepth, oldDepth); 144 156 minimumExpressionDepths[symbol.Name] = (int)Math.Min(int.MaxValue, minDepth); 157 } 158 // correction step for cycles 159 bool changed = true; 160 while (changed) { 161 changed = false; 162 foreach (var symbol in numberedSymbols.Select(x => x.Item1)) { 163 long minDepth = Enumerable.Range(0, grammar.GetMinimumSubtreeCount(symbol)) 164 .Max(x => grammar.GetAllowedChildSymbols(symbol, x) 165 .Min(s => (long)minimumExpressionDepths[s.Name])) + 1; 166 if (minDepth < minimumExpressionDepths[symbol.Name]) { 167 minimumExpressionDepths[symbol.Name] = (int)Math.Min(minDepth, int.MaxValue); 168 changed = true; 169 } 170 } 145 171 } 146 172 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs
r14185 r14353 70 70 } 71 71 if (errorState != OnlineCalculatorError.None) return double.NaN; 72 return r *r;72 return r * r; 73 73 } 74 74 -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionPhenotypicDiversityAnalyzer.cs
r14185 r14353 42 42 private const string ProblemDataParameterName = "ProblemData"; 43 43 private const string EstimationLimitsParameterName = "EstimationLimits"; 44 private const string ApplyLinearScalingParameterName = "ApplyLinearScaling"; 44 45 #endregion 45 46 … … 60 61 get { return (IValueLookupParameter<DoubleLimit>)Parameters[EstimationLimitsParameterName]; } 61 62 } 63 public ILookupParameter<BoolValue> ApplyLinearScalingParameter { 64 get { return (ILookupParameter<BoolValue>)Parameters[ApplyLinearScalingParameterName]; } 65 } 62 66 #endregion 63 67 … … 70 74 Parameters.Add(new ValueLookupParameter<IRegressionProblemData>(ProblemDataParameterName, "The problem data on which the symbolic data analysis solution should be evaluated.")); 71 75 Parameters.Add(new ValueLookupParameter<DoubleLimit>(EstimationLimitsParameterName, "The upper and lower limit that should be used as cut off value for the output values of symbolic data analysis trees.")); 76 Parameters.Add(new LookupParameter<BoolValue>(ApplyLinearScalingParameterName, "Whether or not to apply linear scaling to the estimated values")); 72 77 #endregion 73 78 … … 79 84 protected SymbolicRegressionPhenotypicDiversityAnalyzer(bool deserializing) 80 85 : base(deserializing) { 86 } 87 88 [StorableHook(HookType.AfterDeserialization)] 89 private void AfterDeserialization() { 90 if (!Parameters.ContainsKey(ApplyLinearScalingParameterName)) 91 Parameters.Add(new LookupParameter<BoolValue>(ApplyLinearScalingParameterName, "Whether or not to apply linear scaling to the estimated values")); 81 92 } 82 93 … … 98 109 } 99 110 100 if (updateCounter.Value == updateInterval) { 101 var trees = SymbolicExpressionTreeParameter.ActualValue; 111 if (updateCounter.Value != updateInterval) return base.Apply(); 112 113 var scopes = ExecutionContext.Scope.SubScopes; 114 var applyLinearScaling = ApplyLinearScalingParameter.ActualValue.Value; 115 116 foreach (var scope in scopes.Where(x => !x.Variables.ContainsKey("EstimatedValues"))) { 117 var tree = (ISymbolicExpressionTree)scope.Variables["SymbolicExpressionTree"].Value; 102 118 var interpreter = SymbolicDataAnalysisTreeInterpreterParameter.ActualValue; 103 119 var ds = ProblemDataParameter.ActualValue.Dataset; 104 120 var rows = ProblemDataParameter.ActualValue.TrainingIndices; 121 var estimatedValues = interpreter.GetSymbolicExpressionTreeValues(tree, ds, rows).ToArray(); 105 122 106 var evaluatedValues = new ItemArray<DoubleArray>(trees.Select(t => new DoubleArray(interpreter.GetSymbolicExpressionTreeValues(t, ds, rows).ToArray()))); 107 EvaluatedValuesParameter.ActualValue = evaluatedValues; 123 var estimationLimits = EstimationLimitsParameter.ActualValue; 124 125 if (applyLinearScaling) { 126 var linearScalingCalculator = new OnlineLinearScalingParameterCalculator(); 127 var targetValues = ds.GetDoubleValues(ProblemDataParameter.ActualValue.TargetVariable, rows); 128 int i = 0; 129 foreach (var target in targetValues) { 130 var estimated = estimatedValues[i]; 131 if (!double.IsNaN(estimated) && !double.IsInfinity(estimated)) 132 linearScalingCalculator.Add(estimated, target); 133 i++; 134 } 135 if (linearScalingCalculator.ErrorState == OnlineCalculatorError.None) { 136 var alpha = linearScalingCalculator.Alpha; 137 var beta = linearScalingCalculator.Beta; 138 for (i = 0; i < estimatedValues.Length; ++i) { 139 estimatedValues[i] = estimatedValues[i] * beta + alpha; 140 } 141 } 142 } 143 // add estimated values to escope 144 scope.Variables.Add(new Core.Variable("EstimatedValues", new DoubleArray(estimatedValues.LimitToRange(estimationLimits.Lower, estimationLimits.Upper).ToArray()))); 108 145 } 109 146 return base.Apply(); -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeBottomUpSimilarityCalculator.cs
r14185 r14353 61 61 } 62 62 63 public static double CalculateBottomUpSimilarity(ISymbolicExpressionTree t1, ISymbolicExpressionTree t2) { 64 return new SymbolicExpressionTreeBottomUpSimilarityCalculator().CalculateSimilarity(t1, t2); 65 } 66 63 67 public override double CalculateSolutionSimilarity(IScope leftSolution, IScope rightSolution) { 64 68 if (leftSolution == rightSolution) … … 73 77 var similarity = CalculateSimilarity(t1, t2); 74 78 if (similarity > 1.0) 75 throw new Exception("Similarity value cannot be greater than 1");79 throw new Exception("Similarity value " + similarity + " cannot be greater than 1"); 76 80 77 81 return similarity; -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreePhenotypicSimilarityCalculator.cs
r14185 r14353 92 92 93 93 var r2 = error == OnlineCalculatorError.None ? r * r : 0; 94 95 if (r2 > 1.0)96 r2 = 1.0;97 98 94 return r2; 99 95 } -
trunk/sources/HeuristicLab.Problems.GrammaticalEvolution/3.4/HeuristicLab.Problems.GrammaticalEvolution-3.4.csproj
r12915 r14353 252 252 </ProjectReference> 253 253 </ItemGroup> 254 <ItemGroup> 255 <Content Include="ArtificialAnt\GEArtificialAntEvaluator.cs" /> 256 </ItemGroup> 254 257 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 255 258 <PropertyGroup> -
trunk/sources/HeuristicLab.Tests/HeuristicLab-3.3/ContentViewTests.cs
r14185 r14353 24 24 using HeuristicLab.Common; 25 25 using HeuristicLab.MainForm; 26 using HeuristicLab.MainForm.WindowsForms;27 26 using HeuristicLab.PluginInfrastructure; 28 27 using Microsoft.VisualStudio.TestTools.UnitTesting; -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.BinaryVectorEncoding-3.3/NPointCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Data; 23 24 using HeuristicLab.Tests; … … 31 32 [TestClass()] 32 33 public class NPointCrossoverTest { 34 /// <summary> 35 ///A test for Cross 36 ///</summary> 37 [TestMethod] 38 [TestCategory("Encodings.BinaryVector")] 39 [TestProperty("Time", "short")] 40 public void NPointCrossoverCrossTest() { 41 var privateObject = new PrivateObject(typeof(NPointCrossover)); 42 ItemArray<BinaryVector> parents; 43 TestRandom random = new TestRandom(); 44 bool exceptionFired; 45 // The following test checks if there is an exception when there are more than 2 parents 46 random.Reset(); 47 parents = new ItemArray<BinaryVector>(new BinaryVector[] { new BinaryVector(5), new BinaryVector(6), new BinaryVector(4) }); 48 exceptionFired = false; 49 try { 50 var actual = (BinaryVector)privateObject.Invoke("Cross", random, parents); 51 } 52 catch (System.ArgumentException) { 53 exceptionFired = true; 54 } 55 Assert.IsTrue(exceptionFired); 56 // The following test checks if there is an exception when there are less than 2 parents 57 random.Reset(); 58 parents = new ItemArray<BinaryVector>(new BinaryVector[] { new BinaryVector(4) }); 59 exceptionFired = false; 60 try { 61 var actual = (BinaryVector)privateObject.Invoke("Cross", random, parents); 62 } 63 catch (System.ArgumentException) { 64 exceptionFired = true; 65 } 66 Assert.IsTrue(exceptionFired); 67 } 68 33 69 /// <summary> 34 70 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.BinaryVectorEncoding-3.3/SinglePointCrossoverTest.cs
r13129 r14353 39 39 [TestProperty("Time", "short")] 40 40 public void SinglePointCrossoverCrossTest() { 41 SinglePointCrossover_Accessor target = new SinglePointCrossover_Accessor(new PrivateObject(typeof(SinglePointCrossover)));41 var privateObject = new PrivateObject(typeof(SinglePointCrossover)); 42 42 ItemArray<BinaryVector> parents; 43 43 TestRandom random = new TestRandom(); … … 48 48 exceptionFired = false; 49 49 try { 50 BinaryVector actual;51 actual = target.Cross(random, parents);52 }catch (ArgumentException) {50 var actual = (BinaryVector)privateObject.Invoke("Cross", random, parents); 51 } 52 catch (ArgumentException) { 53 53 exceptionFired = true; 54 54 } … … 59 59 exceptionFired = false; 60 60 try { 61 BinaryVector actual;62 actual = target.Cross(random, parents);63 }catch (ArgumentException) {61 var actual = (BinaryVector)privateObject.Invoke("Cross", random, parents); 62 } 63 catch (ArgumentException) { 64 64 exceptionFired = true; 65 65 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.BinaryVectorEncoding-3.3/UniformCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class UniformCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.BinaryVector")] 38 [TestProperty("Time", "short")] 39 public void SinglePointCrossoverCrossTest() { 40 var target = new PrivateObject(typeof(UniformCrossover)); 41 ItemArray<BinaryVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are more than 2 parents 45 random.Reset(); 46 parents = new ItemArray<BinaryVector>(new BinaryVector[] { new BinaryVector(5), new BinaryVector(6), new BinaryVector(4) }); 47 exceptionFired = false; 48 try { 49 BinaryVector actual; 50 actual = (BinaryVector)target.Invoke("Cross", random, parents); 51 } 52 catch (System.ArgumentException) { 53 exceptionFired = true; 54 } 55 Assert.IsTrue(exceptionFired); 56 // The following test checks if there is an exception when there are less than 2 parents 57 random.Reset(); 58 parents = new ItemArray<BinaryVector>(new BinaryVector[] { new BinaryVector(4) }); 59 exceptionFired = false; 60 try { 61 BinaryVector actual; 62 actual = (BinaryVector)target.Invoke("Cross", random, parents); 63 } 64 catch (System.ArgumentException) { 65 exceptionFired = true; 66 } 67 Assert.IsTrue(exceptionFired); 68 } 69 32 70 /// <summary> 33 71 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.IntegerVectorEncoding-3.3/DiscreteCrossoverTest.cs
r14185 r14353 31 31 [TestClass()] 32 32 public class DiscreteCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.IntegerVector")] 38 [TestProperty("Time", "short")] 39 public void DiscreteCrossoverCrossTest() { 40 var privateObject = new PrivateObject(typeof(DiscreteCrossover)); 41 ItemArray<IntegerVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are less than 2 parents 45 random.Reset(); 46 parents = new ItemArray<IntegerVector>(new IntegerVector[] { new IntegerVector(4) }); 47 exceptionFired = false; 48 try { 49 var actual = (IntegerVector)privateObject.Invoke("Cross", random, parents); 50 } 51 catch (System.ArgumentException) { 52 exceptionFired = true; 53 } 54 Assert.IsTrue(exceptionFired); 55 } 56 33 57 /// <summary> 34 58 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.IntegerVectorEncoding-3.3/SinglePointCrossoverTest.cs
r14185 r14353 38 38 [TestProperty("Time", "short")] 39 39 public void SinglePointCrossoverCrossTest() { 40 var target = new PrivateObject(typeof(SinglePointCrossover));40 var privateObject = new PrivateObject(typeof(SinglePointCrossover)); 41 41 ItemArray<IntegerVector> parents; 42 42 TestRandom random = new TestRandom(); … … 47 47 exceptionFired = false; 48 48 try { 49 IntegerVector actual; 50 actual = (IntegerVector)target.Invoke("Cross", random, parents); 49 var actual = (IntegerVector)privateObject.Invoke("Cross", random, parents); 51 50 } 52 51 catch (System.ArgumentException) { … … 59 58 exceptionFired = false; 60 59 try { 61 IntegerVector actual; 62 actual = (IntegerVector)target.Invoke("Cross", random, parents); 60 var actual = (IntegerVector)privateObject.Invoke("Cross", random, parents); 63 61 } 64 62 catch (System.ArgumentException) { -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/CosaCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class CosaCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void CosaCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(CosaCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/CyclicCrossover2Test.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class CyclicCrossover2Test { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void CyclicCrossover2CrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(CyclicCrossover2)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/CyclicCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class CyclicCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void CyclicCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(CyclicCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/EdgeRecombinationCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class EdgeRecombinationCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void EdgeRecombinationCrossoverCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(EdgeRecombinationCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/MaximalPreservativeCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class MaximalPreservativeCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void MaximalPreservativeCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(MaximalPreservativeCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/OrderBasedCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class OrderBasedCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void OrderBasedCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(OrderBasedCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/OrderCrossover2Test.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class OrderCrossover2Test { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void OrderCrossover2CrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(OrderCrossover2)); 42 random.Reset(); 43 bool exceptionFired = false; 44 try { 45 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 46 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 47 } 48 catch (System.InvalidOperationException) { 49 exceptionFired = true; 50 } 51 Assert.IsTrue(exceptionFired); 52 } 53 32 54 /// <summary> 33 55 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/OrderCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class OrderCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void OrderCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(OrderCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/PartiallyMatchedCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class PartiallyMatchedCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void PartiallyMatchedCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(PartiallyMatchedCrossover)); 42 // perform a test with more than two parents 43 random.Reset(); 44 bool exceptionFired = false; 45 try { 46 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 47 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 48 } 49 catch (System.InvalidOperationException) { 50 exceptionFired = true; 51 } 52 Assert.IsTrue(exceptionFired); 53 } 54 32 55 /// <summary> 33 56 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/PositionBasedCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class PositionBasedCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod] 37 [TestCategory("Encodings.Permutation")] 38 [TestProperty("Time", "short")] 39 public void PositionBasedCrossoverCrossTest() { 40 TestRandom random = new TestRandom(); 41 var privateObject = new PrivateObject(typeof(PositionBasedCrossover)); 42 43 // perform a test with more than two parents 44 random.Reset(); 45 bool exceptionFired = false; 46 try { 47 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 48 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4) })); 49 } 50 catch (System.InvalidOperationException) { 51 exceptionFired = true; 52 } 53 Assert.IsTrue(exceptionFired); 54 } 55 32 56 /// <summary> 33 57 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.PermutationEncoding-3.3/UniformLikeCrossoverTest.cs
r14185 r14353 54 54 Assert.IsTrue(Auxiliary.PermutationIsEqualByPosition(expected, actual)); 55 55 } 56 57 /// <summary> 58 ///A test for Cross 59 ///</summary> 60 [TestMethod] 61 [TestCategory("Encodings.Permutation")] 62 [TestProperty("Time", "short")] 63 public void UniformLikeCrossoverCrossTest() { 64 var privateObject = new PrivateObject(typeof(UniformLikeCrossover)); 65 IRandom random = new TestRandom(new int[] { }, new double[] { 0.1, 0.2, 0.3, 0.4 }); 66 random.Reset(); 67 bool exceptionFired = false; 68 try { 69 privateObject.Invoke("Cross", random, new ItemArray<Permutation>(new Permutation[] { 70 71 new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4), new Permutation(PermutationTypes.RelativeUndirected, 4)})); 72 } 73 catch (System.InvalidOperationException) { 74 exceptionFired = true; 75 } 76 Assert.IsTrue(exceptionFired); 77 } 56 78 } 57 79 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/BlendAlphaBetaCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Data; 23 24 using HeuristicLab.Tests; … … 31 32 [TestClass()] 32 33 public class BlendAlphaBetaCrossoverTest { 34 /// <summary> 35 ///A test for Cross 36 ///</summary> 37 [TestMethod()] 38 [TestCategory("Encodings.RealVector")] 39 [TestProperty("Time", "short")] 40 public void BlendAlphaBetaCrossoverCrossTest() { 41 var privateObject = new PrivateObject(typeof(BlendAlphaBetaCrossover)); 42 ItemArray<RealVector> parents; 43 TestRandom random = new TestRandom(); 44 bool exceptionFired; 45 // The following test checks if there is an exception when there are more than 2 parents 46 random.Reset(); 47 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 48 exceptionFired = false; 49 try { 50 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 51 } 52 catch (System.ArgumentException) { 53 exceptionFired = true; 54 } 55 Assert.IsTrue(exceptionFired); 56 // The following test checks if there is an exception when there are less than 2 parents 57 random.Reset(); 58 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 59 exceptionFired = false; 60 try { 61 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 62 } 63 catch (System.ArgumentException) { 64 exceptionFired = true; 65 } 66 Assert.IsTrue(exceptionFired); 67 } 68 33 69 /// <summary> 34 70 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/BlendAlphaCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Data; 23 24 using HeuristicLab.Tests; … … 31 32 [TestClass()] 32 33 public class BlendAlphaCrossoverTest { 34 /// <summary> 35 ///A test for Cross 36 ///</summary> 37 [TestMethod()] 38 [TestCategory("Encodings.RealVector")] 39 [TestProperty("Time", "short")] 40 public void BlendAlphaCrossoverCrossTest() { 41 var privateObject = new PrivateObject(typeof(BlendAlphaCrossover)); 42 ItemArray<RealVector> parents; 43 TestRandom random = new TestRandom(); 44 bool exceptionFired; 45 // The following test checks if there is an exception when there are more than 2 parents 46 random.Reset(); 47 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 48 exceptionFired = false; 49 try { 50 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 51 } 52 catch (System.ArgumentException) { 53 exceptionFired = true; 54 } 55 Assert.IsTrue(exceptionFired); 56 // The following test checks if there is an exception when there are less than 2 parents 57 random.Reset(); 58 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 59 exceptionFired = false; 60 try { 61 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 62 } 63 catch (System.ArgumentException) { 64 exceptionFired = true; 65 } 66 Assert.IsTrue(exceptionFired); 67 } 68 33 69 /// <summary> 34 70 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/DiscreteCrossoverTest.cs
r14185 r14353 31 31 [TestClass()] 32 32 public class DiscreteCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod()] 37 [TestCategory("Encodings.RealVector")] 38 [TestProperty("Time", "short")] 39 public void DiscreteCrossoverCrossTest() { 40 var privateObject = new PrivateObject(typeof(DiscreteCrossover)); 41 ItemArray<RealVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are less than 2 parents 45 random.Reset(); 46 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 47 exceptionFired = false; 48 try { 49 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 50 } 51 catch (System.ArgumentException) { 52 exceptionFired = true; 53 } 54 Assert.IsTrue(exceptionFired); 55 } 56 33 57 /// <summary> 34 58 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/HeuristicCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class HeuristicCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod()] 37 [TestCategory("Encodings.RealVector")] 38 [TestProperty("Time", "short")] 39 public void HeuristicCrossoverCrossTest() { 40 var privateObject = new PrivateObject(typeof(HeuristicCrossover)); 41 ItemArray<RealVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are more than 2 parents 45 random.Reset(); 46 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 47 exceptionFired = false; 48 try { 49 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 50 } 51 catch (System.ArgumentException) { 52 exceptionFired = true; 53 } 54 Assert.IsTrue(exceptionFired); 55 // The following test checks if there is an exception when there are less than 2 parents 56 random.Reset(); 57 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 58 exceptionFired = false; 59 try { 60 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 61 } 62 catch (System.ArgumentException) { 63 exceptionFired = true; 64 } 65 Assert.IsTrue(exceptionFired); 66 } 67 32 68 /// <summary> 33 69 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/LocalCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class LocalCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod()] 37 [TestCategory("Encodings.RealVector")] 38 [TestProperty("Time", "short")] 39 public void LocalCrossoverCrossTest() { 40 var privateObject = new PrivateObject(typeof(LocalCrossover)); 41 ItemArray<RealVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are more than 2 parents 45 random.Reset(); 46 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 47 exceptionFired = false; 48 try { 49 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 50 } 51 catch (System.ArgumentException) { 52 exceptionFired = true; 53 } 54 Assert.IsTrue(exceptionFired); 55 // The following test checks if there is an exception when there are less than 2 parents 56 random.Reset(); 57 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 58 exceptionFired = false; 59 try { 60 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 61 } 62 catch (System.ArgumentException) { 63 exceptionFired = true; 64 } 65 Assert.IsTrue(exceptionFired); 66 } 67 32 68 /// <summary> 33 69 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/RandomConvexCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class RandomConvexCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod()] 37 [TestCategory("Encodings.RealVector")] 38 [TestProperty("Time", "short")] 39 public void RandomConvexCrossoverCrossTest() { 40 var privateObject = new PrivateObject(typeof(RandomConvexCrossover)); 41 ItemArray<RealVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are more than 2 parents 45 random.Reset(); 46 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 47 exceptionFired = false; 48 try { 49 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 50 } 51 catch (System.ArgumentException) { 52 exceptionFired = true; 53 } 54 Assert.IsTrue(exceptionFired); 55 // The following test checks if there is an exception when there are less than 2 parents 56 random.Reset(); 57 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 58 exceptionFired = false; 59 try { 60 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 61 } 62 catch (System.ArgumentException) { 63 exceptionFired = true; 64 } 65 Assert.IsTrue(exceptionFired); 66 } 67 32 68 /// <summary> 33 69 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/SimulatedBinaryCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Data; 23 24 using HeuristicLab.Tests; … … 31 32 [TestClass()] 32 33 public class SimulatedBinaryCrossoverTest { 34 /// <summary> 35 ///A test for Cross 36 ///</summary> 37 [TestMethod()] 38 [TestCategory("Encodings.RealVector")] 39 [TestProperty("Time", "short")] 40 public void SimulatedBinaryCrossoverCrossTest() { 41 var privateObject = new PrivateObject(typeof(SimulatedBinaryCrossover)); 42 ItemArray<RealVector> parents; 43 TestRandom random = new TestRandom(); 44 bool exceptionFired; 45 // The following test checks if there is an exception when there are more than 2 parents 46 random.Reset(); 47 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 48 exceptionFired = false; 49 try { 50 RealVector actual = (RealVector)privateObject.Invoke("Cross", random, parents); 51 } 52 catch (System.ArgumentException) { 53 exceptionFired = true; 54 } 55 Assert.IsTrue(exceptionFired); 56 // The following test checks if there is an exception when there are less than 2 parents 57 random.Reset(); 58 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 59 exceptionFired = false; 60 try { 61 RealVector actual = (RealVector)privateObject.Invoke("Cross", random, parents); 62 } 63 catch (System.ArgumentException) { 64 exceptionFired = true; 65 } 66 Assert.IsTrue(exceptionFired); 67 } 68 33 69 /// <summary> 34 70 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.RealVectorEncoding-3.3/SinglePointCrossoverTest.cs
r14185 r14353 20 20 #endregion 21 21 22 using HeuristicLab.Core; 22 23 using HeuristicLab.Tests; 23 24 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 30 31 [TestClass()] 31 32 public class SinglePointCrossoverTest { 33 /// <summary> 34 ///A test for Cross 35 ///</summary> 36 [TestMethod()] 37 [TestCategory("Encodings.RealVector")] 38 [TestProperty("Time", "short")] 39 public void SinglePointCrossoverCrossTest() { 40 var privateObject = new PrivateObject(typeof(SinglePointCrossover)); 41 ItemArray<RealVector> parents; 42 TestRandom random = new TestRandom(); 43 bool exceptionFired; 44 // The following test checks if there is an exception when there are more than 2 parents 45 random.Reset(); 46 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(5), new RealVector(6), new RealVector(4) }); 47 exceptionFired = false; 48 try { 49 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 50 } 51 catch (System.ArgumentException) { 52 exceptionFired = true; 53 } 54 Assert.IsTrue(exceptionFired); 55 // The following test checks if there is an exception when there are less than 2 parents 56 random.Reset(); 57 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(4) }); 58 exceptionFired = false; 59 try { 60 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 61 } 62 catch (System.ArgumentException) { 63 exceptionFired = true; 64 } 65 Assert.IsTrue(exceptionFired); 66 // The following test checks if there is an exception when the vector has just one dimension 67 random.Reset(); 68 parents = new ItemArray<RealVector>(new RealVector[] { new RealVector(1) }); 69 exceptionFired = false; 70 try { 71 var actual = (RealVector)privateObject.Invoke("Cross", random, parents); 72 } 73 catch (System.ArgumentException) { 74 exceptionFired = true; 75 } 76 Assert.IsTrue(exceptionFired); 77 } 78 32 79 /// <summary> 33 80 ///A test for Apply -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4/GrammarsTest.cs
r14352 r14353 87 87 Assert.AreEqual(2, grammar.GetMinimumExpressionLength(y)); 88 88 } 89 90 { 91 var grammar = CreateTestGrammar6(); 92 var prs = grammar.ProgramRootSymbol; 93 var ss = grammar.StartSymbol; 94 var x = grammar.Symbols.First(s => s.Name == "<x>"); 95 var s_ = grammar.Symbols.First(s => s.Name == "<s>"); 96 var a = grammar.Symbols.First(s => s.Name == "<a>"); 97 var b = grammar.Symbols.First(s => s.Name == "<b>"); 98 var c = grammar.Symbols.First(s => s.Name == "<c>"); 99 var d = grammar.Symbols.First(s => s.Name == "<d>"); 100 Assert.AreEqual(4, grammar.GetMinimumExpressionLength(prs)); 101 Assert.AreEqual(3, grammar.GetMinimumExpressionLength(ss)); 102 Assert.AreEqual(2, grammar.GetMinimumExpressionLength(x)); 103 Assert.AreEqual(5, grammar.GetMinimumExpressionLength(s_)); 104 Assert.AreEqual(4, grammar.GetMinimumExpressionLength(a)); 105 Assert.AreEqual(3, grammar.GetMinimumExpressionLength(b)); 106 Assert.AreEqual(4, grammar.GetMinimumExpressionLength(c)); 107 Assert.AreEqual(3, grammar.GetMinimumExpressionLength(d)); 108 } 89 109 } 90 110 … … 170 190 Assert.AreEqual(2, grammar.GetMinimumExpressionDepth(y)); 171 191 } 192 193 { 194 var grammar = CreateTestGrammar6(); 195 var prs = grammar.ProgramRootSymbol; 196 var ss = grammar.StartSymbol; 197 var x = grammar.Symbols.First(s => s.Name == "<x>"); 198 var s_ = grammar.Symbols.First(s => s.Name == "<s>"); 199 var a = grammar.Symbols.First(s => s.Name == "<a>"); 200 var b = grammar.Symbols.First(s => s.Name == "<b>"); 201 var c = grammar.Symbols.First(s => s.Name == "<c>"); 202 var d = grammar.Symbols.First(s => s.Name == "<d>"); 203 Assert.AreEqual(4, grammar.GetMinimumExpressionDepth(prs)); 204 Assert.AreEqual(3, grammar.GetMinimumExpressionDepth(ss)); 205 Assert.AreEqual(2, grammar.GetMinimumExpressionDepth(x)); 206 Assert.AreEqual(5, grammar.GetMinimumExpressionDepth(s_)); 207 Assert.AreEqual(4, grammar.GetMinimumExpressionDepth(a)); 208 Assert.AreEqual(3, grammar.GetMinimumExpressionDepth(b)); 209 Assert.AreEqual(4, grammar.GetMinimumExpressionDepth(c)); 210 Assert.AreEqual(3, grammar.GetMinimumExpressionDepth(d)); 211 } 172 212 } 173 213 … … 286 326 return grammar; 287 327 } 328 329 private static ISymbolicExpressionGrammar CreateTestGrammar6() { 330 var grammar = new SimpleSymbolicExpressionGrammar(); 331 var x = new SimpleSymbol("<x>", 1); 332 var s = new SimpleSymbol("<s>", 1); 333 var a = new SimpleSymbol("<a>", 1); 334 var b = new SimpleSymbol("<b>", 1); 335 var c = new SimpleSymbol("<c>", 1); 336 var d = new SimpleSymbol("<d>", 1); 337 var e = new SimpleSymbol("<e>", 1); 338 339 var _x = new SimpleSymbol("x", 0); 340 var _y = new SimpleSymbol("y", 0); 341 342 grammar.AddSymbol(x); 343 grammar.AddSymbol(s); 344 grammar.AddSymbol(a); 345 grammar.AddSymbol(b); 346 grammar.AddSymbol(c); 347 grammar.AddSymbol(d); 348 grammar.AddSymbol(e); 349 grammar.AddSymbol(_x); 350 grammar.AddSymbol(_y); 351 352 grammar.AddAllowedChildSymbol(grammar.StartSymbol, x); 353 grammar.AddAllowedChildSymbol(x, s); 354 grammar.AddAllowedChildSymbol(x, _x); 355 grammar.AddAllowedChildSymbol(s, a); 356 grammar.AddAllowedChildSymbol(a, b); 357 grammar.AddAllowedChildSymbol(a, c); 358 grammar.AddAllowedChildSymbol(b, x); 359 grammar.AddAllowedChildSymbol(c, d); 360 grammar.AddAllowedChildSymbol(d, e); 361 grammar.AddAllowedChildSymbol(e, _y); 362 363 return grammar; 364 } 288 365 } 289 366 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs
r14185 r14353 33 33 public class SymbolicDataAnalysisExpressionTreeInterpreterTest { 34 34 private const int N = 1000; 35 private const int Rows = 1000;35 private const int Rows = 5000; 36 36 private const int Columns = 50; 37 37 … … 73 73 [TestCategory("Problems.DataAnalysis.Symbolic")] 74 74 [TestProperty("Time", "long")] 75 public void CompiledInterpreterTestTypeCoherentGrammarPerformance() {76 TestTypeCoherentGrammarPerformance(new SymbolicDataAnalysisExpressionCompiledTreeInterpreter(), 12.5e6);77 }78 [TestMethod]79 [TestCategory("Problems.DataAnalysis.Symbolic")]80 [TestProperty("Time", "long")]81 public void CompiledInterpreterTestFullGrammarPerformance() {82 TestFullGrammarPerformance(new SymbolicDataAnalysisExpressionCompiledTreeInterpreter(), 12.5e6);83 }84 [TestMethod]85 [TestCategory("Problems.DataAnalysis.Symbolic")]86 [TestProperty("Time", "long")]87 public void CompiledInterpreterTestArithmeticGrammarPerformance() {88 TestArithmeticGrammarPerformance(new SymbolicDataAnalysisExpressionCompiledTreeInterpreter(), 12.5e6);89 }90 91 [TestMethod]92 [TestCategory("Problems.DataAnalysis.Symbolic")]93 [TestProperty("Time", "long")]94 75 public void ILEmittingInterpreterTestTypeCoherentGrammarPerformance() { 95 76 TestTypeCoherentGrammarPerformance(new SymbolicDataAnalysisExpressionTreeILEmittingInterpreter(), 7.5e6); … … 185 166 [TestCategory("Problems.DataAnalysis.Symbolic")] 186 167 [TestProperty("Time", "short")] 187 public void CompiledInterpreterTestEvaluation() {188 var interpreter = new SymbolicDataAnalysisExpressionCompiledTreeInterpreter();189 // ADFs are not supported by the compiled tree interpreter190 EvaluateTerminals(interpreter, ds);191 EvaluateOperations(interpreter, ds);192 EvaluateSpecialFunctions(interpreter, ds);193 }194 195 [TestMethod]196 [TestCategory("Problems.DataAnalysis.Symbolic")]197 [TestProperty("Time", "short")]198 168 public void LinearInterpreterTestEvaluation() { 199 169 var interpreter = new SymbolicDataAnalysisExpressionTreeLinearInterpreter(); … … 269 239 270 240 var interpreters = new ISymbolicDataAnalysisExpressionTreeInterpreter[] { 271 new SymbolicDataAnalysisExpressionCompiledTreeInterpreter(),272 241 new SymbolicDataAnalysisExpressionTreeInterpreter(), 273 242 new SymbolicDataAnalysisExpressionTreeLinearInterpreter(), -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs
r11978 r14353 15 15 16 16 public BottomUpSimilarityCalculatorTest() { 17 busCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator(); 17 busCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { 18 // MatchConstantValues = true, 19 // MatchVariableWeights = true 20 }; 18 21 importer = new SymbolicExpressionImporter(); 19 22 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/AckleyEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void AckleyEvaluateFunctionTest() { 39 AckleyEvaluator target = new AckleyEvaluator();39 var privateObject = new PrivateObject(typeof(AckleyEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/BealeEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void BealeEvaluateFunctionTest() { 39 BealeEvaluator target = new BealeEvaluator();39 var privateObject = new PrivateObject(typeof(BealeEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/BoothEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void BoothEvaluateFunctionTest() { 39 BoothEvaluator target = new BoothEvaluator();39 var privateObject = new PrivateObject(typeof(BoothEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/GriewankEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void GriewankEvaluateFunctionTest() { 39 GriewankEvaluator target = new GriewankEvaluator();39 var privateObject = new PrivateObject(typeof(GriewankEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/LevyEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void LevyEvaluateFunctionTest() { 39 LevyEvaluator target = new LevyEvaluator();39 var privateObject = new PrivateObject(typeof(LevyEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/MatyasEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void MatyasEvaluateFunctionTest() { 39 MatyasEvaluator target = new MatyasEvaluator();39 var privateObject = new PrivateObject(typeof(MatyasEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/RastriginEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void RastriginEvaluateFunctionTest() { 39 RastriginEvaluator target = new RastriginEvaluator();39 var privateObject = new PrivateObject(typeof(RastriginEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/RosenbrockEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void RosenbrockEvaluateFunctionTest() { 39 RosenbrockEvaluator target = new RosenbrockEvaluator();39 var privateObject = new PrivateObject(typeof(RosenbrockEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/SphereEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void SphereEvaluateFunctionTest() { 39 SphereEvaluator target = new SphereEvaluator();39 var privateObject = new PrivateObject(typeof(SphereEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/SumSquaresEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void SumSquaresEvaluateFunctionTest() { 39 SumSquaresEvaluator target = new SumSquaresEvaluator();39 var privateObject = new PrivateObject(typeof(SumSquaresEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Problems.TestFunctions-3.3/ZakharovEvaluatorTest.cs
r14185 r14353 37 37 [TestProperty("Time", "short")] 38 38 public void ZakharovEvaluateFunctionTest() { 39 ZakharovEvaluator target = new ZakharovEvaluator();39 var privateObject = new PrivateObject(typeof(ZakharovEvaluator)); 40 40 RealVector point = null; 41 double expected = target.BestKnownQuality;41 double expected = (double)privateObject.GetProperty("BestKnownQuality"); 42 42 double actual; 43 for (int dimension = target.MinimumProblemSize; dimension <= System.Math.Min(10, target.MaximumProblemSize); dimension++) { 44 point = target.GetBestKnownSolution(dimension); 45 actual = target.Evaluate(point); 43 int minimumProblemSize = (int)privateObject.GetProperty("MinimumProblemSize"); 44 int maximumProblemSize = (int)privateObject.GetProperty("MaximumProblemSize"); 45 for (int dimension = minimumProblemSize; dimension <= System.Math.Min(10, maximumProblemSize); dimension++) { 46 point = (RealVector)privateObject.Invoke("GetBestKnownSolution", dimension); 47 actual = (double)privateObject.Invoke("Evaluate", point); 46 48 Assert.AreEqual(expected, actual); 47 49 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj
r14341 r14353 500 500 <Compile Include="HeuristicLab.Collections-3.3\BidirectionalLookupTest.cs" /> 501 501 <Compile Include="HeuristicLab.Collections-3.3\ObservableKeyedListTest.cs" /> 502 <Compile Include="HeuristicLab.Common-3.3\EnumerableStatisticExtensions.cs" />503 502 <Compile Include="HeuristicLab.Encodings.BinaryVectorEncoding-3.3\Auxiliary.cs" /> 504 503 <Compile Include="HeuristicLab.Encodings.BinaryVectorEncoding-3.3\NPointCrossoverTest.cs" /> … … 574 573 <Compile Include="HeuristicLab.Problems.DataAnalysis-3.4\OnlineCalculatorPerformanceTest.cs" /> 575 574 <Compile Include="HeuristicLab.Problems.DataAnalysis-3.4\StatisticCalculatorsTest.cs" /> 576 <Compile Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4\ InfixExpressionParserTest.cs" />575 <Compile Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4\DoubleConverter.cs" /> 577 576 <Compile Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4\SymbolicExpressionTreeBottomUpSimilarityCalculatorTest.cs" /> 578 577 <Compile Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4\SymbolicExpressionTreeMaxCommonSubtreeSimilarityCalculatorTest.cs" /> … … 685 684 </EmbeddedResource> 686 685 </ItemGroup> 687 <ItemGroup /> 688 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 686 <ItemGroup> 687 <Folder Include="Test References\" /> 688 </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 689 689 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 690 690 Other similar extension points exist, see Microsoft.Common.targets. -
trunk/sources/HeuristicLab.Visualization.ChartControlsExtensions/3.3/ChartUtil.cs
r14160 r14353 37 37 38 38 // if one of the interval ends is a multiple of 5 or 10, change the other interval end to be a multiple as well 39 if ( (aMin.Mod(5).IsAlmost(0) || aMin.Mod(10).IsAlmost(0)) && Math.Abs(aMax) >= 5&& !(aMax.Mod(5).IsAlmost(0) || aMax.Mod(10).IsAlmost(0))) {39 if (Math.Abs(aMax) >= 5 && aMin.Mod(5).IsAlmost(0) && !(aMax.Mod(5).IsAlmost(0) || aMax.Mod(10).IsAlmost(0))) { 40 40 aMax = Math.Min(aMax + 5 - aMax.Mod(5), aMax + 10 - aMax.Mod(10)); 41 } else if ( (aMax.Mod(5).IsAlmost(0) || aMax.Mod(10).IsAlmost(0)) && Math.Abs(aMin) >= 5&& !(aMin.Mod(5).IsAlmost(0) || aMin.Mod(10).IsAlmost(0))) {41 } else if (Math.Abs(aMin) >= 5 && aMax.Mod(5).IsAlmost(0) && !(aMin.Mod(5).IsAlmost(0) || aMin.Mod(10).IsAlmost(0))) { 42 42 aMin = Math.Max(aMin - aMin.Mod(5), aMin - aMin.Mod(10)); 43 43 }
Note: See TracChangeset
for help on using the changeset viewer.