Ejemplo n.º 1
0
        public void TriggerIfStackContainsTestMethodBase()
        {
            MethodInfo method    = ((Action)TriggerIfStackContainsTestMethodBase).Method;
            ICondition condition = BuiltInConditions.TriggerIfStackContains(method);

            DoTriggerIfStackContainsTests(condition);
        }
Ejemplo n.º 2
0
        public void TriggerIfStackContainsTestString()
        {
            string     method    = "Microsoft.Test.AcceptanceTests.FaultInjection.BuiltInTriggerTests.TriggerIfStackContainsTestString()";
            ICondition condition = BuiltInConditions.TriggerIfStackContains(method);

            DoTriggerIfStackContainsTests(condition);
        }
Ejemplo n.º 3
0
        public void TriggerIfCalledByTestMethodBase()
        {
            MethodBase method    = ((Action)TriggerIfCalledByTestMethodBase).Method;
            ICondition condition = BuiltInConditions.TriggerIfCalledBy(method);

            DoTriggerIfCalledByTest(condition);
        }
Ejemplo n.º 4
0
        public void TriggerIfCalledByTestString()
        {
            string     method    = "Microsoft.Test.AcceptanceTests.FaultInjection.BuiltInTriggerTests.TriggerIfCalledByTestString()";
            ICondition condition = BuiltInConditions.TriggerIfCalledBy(method);

            DoTriggerIfCalledByTest(condition);
        }
Ejemplo n.º 5
0
        public void TriggerOnEveryNthCallTest()
        {
            int            n         = 2;
            ICondition     condition = BuiltInConditions.TriggerEveryOnNthCall(n);
            RuntimeContext ctx       = new RuntimeContext();
            int            loopTimes = 20;

            for (int i = 0; i < loopTimes; ++i)
            {
                ctx.CalledTimes++;
                bool shouldTrigger = ((i + 1) % 2 == 0)?true:false;
                Assert.Equal <bool>(shouldTrigger, condition.Trigger(ctx));
            }
        }
Ejemplo n.º 6
0
        public void TriggerIfCalledByTest()
        {
            string         method    = "System.RuntimeMethodHandle._InvokeMethodFast(System.Object,System.Object[],ref System.SignatureStruct,System.Reflection.MethodAttributes,System.RuntimeTypeHandle)";
            ICondition     condition = BuiltInConditions.TriggerIfCalledBy(method);
            RuntimeContext ctx       = new RuntimeContext();

            ctx.CallStack = new CallStack(new StackTrace(0));
            int loopTimes = 10;

            for (int i = 0; i < loopTimes; ++i)
            {
                Assert.True(condition.Trigger(ctx));
            }
            ctx.CallStack = null;
            for (int i = 0; i < loopTimes; ++i)
            {
                Assert.False(condition.Trigger(ctx));
            }
        }
Ejemplo n.º 7
0
        public void TriggerOnNthCallTest()
        {
            int            n         = 3;
            ICondition     condition = BuiltInConditions.TriggerOnNthCall(n);
            RuntimeContext ctx       = new RuntimeContext();
            int            loopTimes = 20;

            for (int i = 0; i < loopTimes; ++i)
            {
                ctx.CalledTimes++;
                if (ctx.CalledTimes != n)
                {
                    Assert.False(condition.Trigger(ctx));
                }
                else
                {
                    Assert.True(condition.Trigger(ctx));
                }
            }
        }
Ejemplo n.º 8
0
        private static FaultRule[] ConstructFaultRules()
        {
            FaultRule[] rules = new FaultRule[16];
            rules[0]           = new FaultRule("static Microsoft.Test.AcceptanceTests.ConstructorTestOuterClass.InnerClass.InnerClass()");
            rules[0].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[0].Fault     = BuiltInFaults.ReturnValueFault(3); //Take no effect

            rules[1]           = new FaultRule("Microsoft.Test.AcceptanceTests.GenericSignatureTests.NestedGenericClass<T, S>.DoublyNestedClass.TriplyNestedGenericClass<R>.GenericTestMethod<P, Q>(System.Collections.Generic.List<System.Collections.Generic.List<System.Collections.Generic.List<System.Int32>>>,Microsoft.Test.AcceptanceTests.GenericSignatureTests.EmptyClass,System.Collections.Generic.Dictionary<P,System.String>,Q,Microsoft.Test.AcceptanceTests.GenericSignatureTests.NestedGenericClass<T, S>.DoublyNestedClass.TriplyNestedGenericClass<Microsoft.Test.AcceptanceTests.GenericSignatureTests.NestedGenericClass<T, S>.DoublyNestedClass.TriplyNestedGenericClass<E>>)");
            rules[1].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[1].Fault     = BuiltInFaults.ReturnValueFault(System.Boolean.Parse("false")); //Take no effect

            rules[2]           = new FaultRule("Microsoft.Test.AcceptanceTests.NestedClassTests.NestedClass.NestedClassTest()");
            rules[2].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[2].Fault     = BuiltInFaults.ReturnValueFault(System.Boolean.Parse("false")); //Take no effect

            rules[3]           = new FaultRule("Microsoft.Test.AcceptanceTests.NestedClassTests.NestedClass.DoublyNestedClass.DoublyNestedClassTest()");
            rules[3].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[3].Fault     = BuiltInFaults.ReturnValueFault(System.Boolean.Parse("false")); //Take no effect

            rules[4]           = new FaultRule("Microsoft.Test.AcceptanceTests.NonGenericSignatureTests.TestMethod(out System.Int32[][],ref System.Object,Microsoft.Test.AcceptanceTests.NonGenericSignatureTests.TestEnum[,,], Microsoft.Test.AcceptanceTests.NonGenericSignatureTests.NestedClass[][], params int[])");
            rules[4].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[4].Fault     = BuiltInFaults.ReturnValueFault(System.Boolean.Parse("false")); //Take no effect

            rules[5]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnTypeErrorTests.NullValueTypeInt()");
            rules[5].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[5].Fault     = BuiltInFaults.ReturnValueFault(null); //Take no effect

            rules[6]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnTypeErrorTests.NullValueTypeBool()");
            rules[6].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[6].Fault     = BuiltInFaults.ReturnValueFault(null); //Take no effect

            rules[7]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnTypeErrorTests.ReturnTypeMismatchIntBool()");
            rules[7].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[7].Fault     = BuiltInFaults.ReturnValueFault(true); //Take no effect

            rules[8]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnTypeErrorTests.ReturnTypeMismatchBoolInt()");
            rules[8].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[8].Fault     = BuiltInFaults.ReturnValueFault(3); //Take no effect

            rules[9]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnValueTests.ReturnNullTest()");
            rules[9].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[9].Fault     = BuiltInFaults.ReturnFault(); //Take no effect

            rules[10]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnValueTests.ReturnIntTargetMethod(System.String,System.Int32)");
            rules[10].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[10].Fault     = BuiltInFaults.ReturnValueFault(232);

            rules[11]           = new FaultRule("Microsoft.Test.AcceptanceTests.ReturnValueTests.ReturnBoolTargetMethod(System.String,System.Int32)");
            rules[11].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[11].Fault     = BuiltInFaults.ReturnValueFault(false);

            rules[12]           = new FaultRule("Microsoft.Test.AcceptanceTests.ThrowExceptionTests.ThrowBuiltInExceptionTest()");
            rules[12].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[12].Fault     = BuiltInFaults.ThrowExceptionFault(new ApplicationException());

            rules[13]           = new FaultRule("Microsoft.Test.AcceptanceTests.ThrowExceptionTests.ThrowCustomExceptionTest()");
            rules[13].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[13].Fault     = BuiltInFaults.ThrowExceptionFault(new CustomizedException());

            rules[14]           = new FaultRule("Microsoft.Test.AcceptanceTests.ConstructorTestOuterClass.InnerClass.InnerClass()");
            rules[14].Condition = BuiltInConditions.TriggerOnEveryCall;
            rules[14].Fault     = BuiltInFaults.ReturnValueFault(3); //Take no effect

            rules[15]           = new FaultRule("Microsoft.Test.AcceptanceTests.BuiltInTriggerTests.TesteeTriggerOnNthCallBy()");
            rules[15].Condition = BuiltInConditions.TriggerOnNthCallBy(10, "Microsoft.Test.AcceptanceTests.BuiltInTriggerTests.TesterTriggerOnNthCallBy()");
            rules[15].Fault     = BuiltInFaults.ReturnValueFault(true); //Take no effect

            return(rules);
        }