public void TriggerIfStackContainsTestMethodBase() { MethodInfo method = ((Action)TriggerIfStackContainsTestMethodBase).Method; ICondition condition = BuiltInConditions.TriggerIfStackContains(method); DoTriggerIfStackContainsTests(condition); }
public void TriggerIfStackContainsTestString() { string method = "Microsoft.Test.AcceptanceTests.FaultInjection.BuiltInTriggerTests.TriggerIfStackContainsTestString()"; ICondition condition = BuiltInConditions.TriggerIfStackContains(method); DoTriggerIfStackContainsTests(condition); }
public void TriggerIfCalledByTestMethodBase() { MethodBase method = ((Action)TriggerIfCalledByTestMethodBase).Method; ICondition condition = BuiltInConditions.TriggerIfCalledBy(method); DoTriggerIfCalledByTest(condition); }
public void TriggerIfCalledByTestString() { string method = "Microsoft.Test.AcceptanceTests.FaultInjection.BuiltInTriggerTests.TriggerIfCalledByTestString()"; ICondition condition = BuiltInConditions.TriggerIfCalledBy(method); DoTriggerIfCalledByTest(condition); }
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)); } }
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)); } }
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)); } } }
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); }