Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/17/15 17:22:58 (8 years ago)
Author:
mkommend
Message:

#2510: Added method for creating trees with a specific length to the PTC2 and adapted the according unit test.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4/ProbabilisticTreeCreaterTest.cs

    r12012 r13227  
    2323using System.Collections.Generic;
    2424using System.Diagnostics;
    25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2625using HeuristicLab.Random;
    2726using Microsoft.VisualStudio.TestTools.UnitTesting;
     
    7574    [TestProperty("Time", "short")]
    7675    public void ProbabilisticTreeCreatorSpecificTreeSizesTest() {
    77       var trees = new List<ISymbolicExpressionTree>();
    7876      var grammar = Grammars.CreateSimpleArithmeticGrammar();
    7977      var random = new MersenneTwister(31415);
    80       var treeGrammarType = SymbolicExpressionTreeGrammar_Accessor.ShadowedType.ReferencedType;
    8178
    82 
    83       for (int targetTreeSize = 1; targetTreeSize <= 100; targetTreeSize++) {
    84         var tree = new SymbolicExpressionTree();
    85         var rootNode = (SymbolicExpressionTreeTopLevelNode)grammar.ProgramRootSymbol.CreateTreeNode();
    86         rootNode.SetGrammar((ISymbolicExpressionTreeGrammar)Activator.CreateInstance(treeGrammarType, grammar));
    87         if (rootNode.HasLocalParameters) rootNode.ResetLocalParameters(random);
    88         var startNode = (SymbolicExpressionTreeTopLevelNode)grammar.StartSymbol.CreateTreeNode();
    89         startNode.SetGrammar((ISymbolicExpressionTreeGrammar)Activator.CreateInstance(treeGrammarType, grammar));
    90         if (startNode.HasLocalParameters) startNode.ResetLocalParameters(random);
    91         rootNode.AddSubtree(startNode);
    92 
    93         ProbabilisticTreeCreator_Accessor.TryCreateFullTreeFromSeed(random, startNode, targetTreeSize, ((int)Math.Log(targetTreeSize, 2)) + 1);
    94         tree.Root = rootNode;
    95         //mkommend: commented due to performance issues on the builder
    96         // Assert.AreEqual(targetTreeSize + 2, tree.Length);  //the root and start node must be additionally added
     79      for (int targetTreeSize = 3; targetTreeSize <= 100; targetTreeSize++) {
     80        var tree = ProbabilisticTreeCreator.CreateExpressionTree(random, grammar, targetTreeSize, ((int)Math.Log(targetTreeSize, 2)) + 2);
     81        Assert.AreEqual(targetTreeSize, tree.Length);
    9782      }
    9883    }
Note: See TracChangeset for help on using the changeset viewer.