public void SetOperandNull() { TestNot <int, int> not = new TestNot <int, int>(); string errorMessage = string.Format(ErrorStrings.RequiredArgumentValueNotSupplied, "Operand"); TestRuntime.ValidateWorkflowErrors(not, new List <TestConstraintViolation>(), typeof(ArgumentException), errorMessage); }
public void ConstraintViolatonInvalidExpression() { TestNot <string, Complex> not = new TestNot <string, Complex>(); string errorMessage = TestExpressionTracer.GetExceptionMessage <string, Complex>(System.Linq.Expressions.ExpressionType.Not); TestExpressionTracer.Validate(not, new List <string> { errorMessage }); }
public void CustomTypeOperandWithOperatorOverloaded() { TestNot <Complex, Complex> complexNot = new TestNot <Complex, Complex>() { OperandExpression = context => new Complex(1, 0) }; TestSequence seq = TestExpressionTracer.GetTraceableUnaryExpressionActivity <Complex, Complex>(complexNot, new Complex(0, 1).ToString()); TestRuntime.RunAndValidateWorkflow(seq); }
public void EvaluateNotOfBoolean() { TestNot <bool, bool> not = new TestNot <bool, bool> { Operand = true }; TestSequence seq = TestExpressionTracer.GetTraceableUnaryExpressionActivity <bool, bool>(not, false.ToString()); TestRuntime.RunAndValidateWorkflow(seq); }
public void ThrowFromOverloadedOperator() { TestNot <OverLoadOperatorThrowingType, bool> not = new TestNot <OverLoadOperatorThrowingType, bool> { OperandExpression = context => new OverLoadOperatorThrowingType(13) }; OverLoadOperatorThrowingType.ThrowException = true; not.ExpectedOutcome = Outcome.UncaughtException(); TestSequence seq = TestExpressionTracer.GetTraceableUnaryExpressionActivity <OverLoadOperatorThrowingType, bool>(not, "12"); TestRuntime.RunAndValidateAbortedException(seq, typeof(ArithmeticException), null); }