Changeset 6911 for trunk/sources/HeuristicLab.Tests
- Timestamp:
- 10/12/11 17:06:14 (13 years ago)
- Location:
- trunk/sources/HeuristicLab.Tests
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4/ProbabilisticTreeCreaterTest.cs
r6866 r6911 72 72 Util.GetTerminalDistributionString(randomTrees) + Environment.NewLine 73 73 ); 74 Assert.IsTrue(Math.Round(1000.0 / (msPerRandomTreeCreation)) > 300); // must achieve more than 500 random trees / s 74 Assert.IsTrue(Math.Round(1000.0 / (msPerRandomTreeCreation)) > 250); // must achieve more than 250 random trees / s 75 } 76 77 [TestMethod] 78 public void ProbabilisticTreeCreatorSpecificTreeSizesTest() { 79 var trees = new List<ISymbolicExpressionTree>(); 80 var grammar = Grammars.CreateSimpleArithmeticGrammar(); 81 var random = new MersenneTwister(31415); 82 var treeGrammarType = SymbolicExpressionTreeGrammar_Accessor.ShadowedType.ReferencedType; 83 84 85 for (int targetTreeSize = 1; targetTreeSize <= 100; targetTreeSize++) { 86 var tree = new SymbolicExpressionTree(); 87 var rootNode = (SymbolicExpressionTreeTopLevelNode)grammar.ProgramRootSymbol.CreateTreeNode(); 88 rootNode.SetGrammar((ISymbolicExpressionTreeGrammar)Activator.CreateInstance(treeGrammarType, grammar)); 89 if (rootNode.HasLocalParameters) rootNode.ResetLocalParameters(random); 90 var startNode = (SymbolicExpressionTreeTopLevelNode)grammar.StartSymbol.CreateTreeNode(); 91 startNode.SetGrammar((ISymbolicExpressionTreeGrammar)Activator.CreateInstance(treeGrammarType, grammar)); 92 if (startNode.HasLocalParameters) startNode.ResetLocalParameters(random); 93 rootNode.AddSubtree(startNode); 94 95 ProbabilisticTreeCreator_Accessor.TryCreateFullTreeFromSeed(random, startNode, targetTreeSize, ((int)Math.Log(targetTreeSize, 2)) + 1); 96 tree.Root = rootNode; 97 Assert.AreEqual(targetTreeSize + 2, tree.Length); //the root and start node must be additionally added 98 } 75 99 } 76 100 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4/Util.cs
r6866 r6911 154 154 Assert.IsTrue(grammar.Symbols.Count() == grammar.Symbols.Distinct().Count()); 155 155 foreach (ISymbol symbol in grammar.AllowedSymbols) { 156 Assert.IsTrue(grammar.GetMinimumSubtreeCount(symbol) <= grammar.GetMaximumExpressionLength(symbol));157 156 Assert.IsTrue(grammar.GetAllowedChildSymbols(symbol).Count() == grammar.GetAllowedChildSymbols(symbol).Distinct().Count()); 158 157 for (int i = 0; i < grammar.GetMaximumSubtreeCount(symbol); i++) { … … 165 164 for (int i = 0; i < grammar.GetMaximumSubtreeCount(symbol); i++) 166 165 Assert.IsTrue(grammar.GetAllowedChildSymbols(symbol, i).Any()); 167 168 //if (symbol is ProgramRootSymbol) continue;169 ////check if symbol is allowed as at least one child symbol170 //bool result = false;171 //foreach (var parentSymbol in grammar.Symbols) {172 // if (result) break;173 // for (int i = 0; i < grammar.GetMaximumSubtreeCount(parentSymbol); i++)174 // result = result || grammar.IsAllowedChildSymbol(parentSymbol, symbol, i);175 //}176 //Assert.IsTrue(result);177 178 166 } 179 167 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj
r6891 r6911 424 424 <EmbeddedResource Include="HeuristicLab.Problems.QuadraticAssignment-3.3\QAPLIB\wil50.dat" /> 425 425 <None Include="HeuristicLab.snk" /> 426 <Shadow Include="Test References\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.accessor" /> 426 427 <Shadow Include="Test References\HeuristicLab.PluginInfrastructure-3.3.accessor" /> 427 428 <Shadow Include="Test References\HeuristicLab.MainForm.WindowsForms-3.3.accessor" />
Note: See TracChangeset
for help on using the changeset viewer.