Free cookie consent management tool by TermsFeed Policy Generator

source: addons/HeuristicLab.PushGP/HeuristicLab.Tests/Interpreter/Expressions/BooleanVectorExpressionsTests.cs @ 18242

Last change on this file since 18242 was 15017, checked in by pkimmesw, 8 years ago

#2665 Fixed Benchmark Problem Definition, Converted LoopExpressions to stateless expressions, Added several unit test to ensure funcionality, Fixed UI bugs

File size: 1.2 KB
Line 
1using System.Collections.Generic;
2using System.Linq;
3
4namespace HeuristicLab.Tests.Interpreter.Expressions {
5  using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
6
7  using Microsoft.VisualStudio.TestTools.UnitTesting;
8
9  [TestClass]
10  public class BooleanVectorExpressionsTests : VectorExpressionTests<bool> {
11    protected override string TypeName { get { return "BOOLEAN[]"; } }
12
13    protected override IPushStack<IReadOnlyList<bool>> Stack { get { return interpreter.BooleanVectorStack; } }
14    protected override IPushStack<bool> LiteralStack { get { return interpreter.BooleanStack; } }
15
16    protected override IReadOnlyList<bool>[] GetValues(int count) {
17      return Enumerable
18        .Range(0, count)
19        .Select(x => GetLiterals(interpreter.Configuration.MaxVectorLength / 2 - 1))
20        .ToArray();
21    }
22
23    protected override IReadOnlyList<bool> GetLiterals(int count) {
24      return Enumerable
25        .Range(0, count)
26        .Select(x => interpreter.Configuration.ErcOptions.BooleanErcOptions.GetErcValue(interpreter.Random))
27        .ToArray();
28    }
29
30    protected override void CheckOtherStacksAreEmpty() {
31      TestStackCounts(booleanVectorStack: null);
32    }
33  }
34}
Note: See TracBrowser for help on using the repository browser.