public void ExecuteTests(TestTraceOutput output, Component originalComponent, Component transformedComponent, MethodInfo originalMethod, MethodInfo transformedMethod) { var parameters = originalMethod.GetParameters(); var originalArguments = new object[parameters.Length]; var transformedArguments = new object[parameters.Length]; var valueFactories = new Func<object>[parameters.Length]; for (var i = 0; i < parameters.Length; ++i) { if (parameters[i].ParameterType == typeof(int) || parameters[i].ParameterType == typeof(int).MakeByRefType()) valueFactories[i] = RandomInt32; else if (parameters[i].ParameterType == typeof(double) || parameters[i].ParameterType == typeof(double).MakeByRefType()) valueFactories[i] = RandomDouble; else if (parameters[i].ParameterType == typeof(bool) || parameters[i].ParameterType == typeof(bool).MakeByRefType()) valueFactories[i] = RandomBoolean; else Assert.NotReached("Unknown parameter type '{0}'.", parameters[i].ParameterType); } output.Log("Testing '{0}'", originalMethod); for (var i = 0; i < _testCount * 2; ++i) { output.Trace("----- Inputs -----"); for (var j = 0; j < originalArguments.Length; ++j) { originalArguments[j] = valueFactories[j](); transformedArguments[j] = originalArguments[j]; output.Trace("{0} = {1}", parameters[j].Name, originalArguments[j]); } var originalResult = originalMethod.Invoke(originalComponent, originalArguments); var transformedResult = transformedMethod.Invoke(transformedComponent, transformedArguments); if (originalResult != null && originalResult.GetType().IsEnum) { originalResult = ((IConvertible)originalResult).ToInt32(CultureInfo.InvariantCulture); transformedResult = ((IConvertible)transformedResult).ToInt32(CultureInfo.InvariantCulture); } transformedResult.ShouldBe(originalResult); transformedArguments.ShouldBe(originalArguments); for (var j = 0; j < originalComponent.Metadata.Fields.Length; ++j) { var originalField = originalComponent.Metadata.Fields[j]; output.Trace("Comparing field '{0}'", originalField.FieldInfo); var transformedField = transformedComponent.Metadata.Fields.Single(f => f.Name == originalField.Name); transformedField.FieldInfo.GetValue(transformedComponent).ShouldBe(originalField.FieldInfo.GetValue(originalComponent)); } } }
public MemoryBufferTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); _memoryBuffer.Resize(NumberOfElements * sizeof(int), zeroMemory: false); _memoryPointer = (int *)_memoryBuffer.Pointer; }
/// <summary> /// Executes the tests of the object. /// </summary> /// <param name="output">The output that should be used to write test output.</param> /// <param name="args">The arguments passed to the test object.</param> public void Test(TestTraceOutput output, object[] args) { Output = output; Arguments = args; Check(); }
public LtmdpToNmdpTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); _transitionBuffer.Resize(TransitionCapacity * sizeof(LtmdpTransition), zeroMemory: false); _transitions = (LtmdpTransition *)_transitionBuffer.Pointer; _stepGraph = new LtmdpStepGraph(); _choiceResolver = new LtmdpChoiceResolver(_stepGraph); }
public LtmdpBuilderDuringTraversalTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public LtmdpChoiceResolverTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); _stepGraph = new LtmdpStepGraph(); _choiceResolver = new LtmdpChoiceResolver(_stepGraph); }
public LabeledTransitionMarkovChainToStringTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public ExternalMdpModelCheckerPrismTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public BuiltinNmdpModelCheckerTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public DoubleVectorTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public FormulaManagerTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public MarkovDecisionProcessToStringTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public OnceFormulaTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public ConsolidateTransitionsModifierTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public NmdpToMdpByFlatteningTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public LtmcBuilderTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
protected AnalysisTest(ITestOutputHelper output = null) { Output = new TestTraceOutput(output); }
public NmdpToMdpByNewStatesWithConstantDistanceTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public ExternalDtmcModelCheckerMrmcTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public BidirectionalGraphTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public LustreModelCheckingTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); Program.outputTextWriter = Output.TextWriterAdapter(); }
public SparseDoubleMatrixTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public LtmdpContinuationDistributionMapperTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public NmdpToMdpTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public MarkovChainFromMarkovChainTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public MarkovChainToStringTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }
public MultipleChainsInSingleArrayTests(ITestOutputHelper output) { Output = new TestTraceOutput(output); }