예제 #1
0
        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);
        }
예제 #2
0
        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
            });
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }