public void WhenFakingFormatterThenCanInvokeIt() { var stunt1 = Stunt.Of <ICustomFormatter>(); var stunt2 = Stunt.Of <ICustomFormatter>(); var result1 = stunt1.Format("Hello {0}", "World", null); var result2 = stunt2.Format("Hello {0}", "World", null); }
public void CanVerifyLooseMockDelegateWithNoReturnValue() { var recorder = new RecordingBehavior(); var stunt = Stunt.Of <Action <int> >(); stunt.AddBehavior(recorder); stunt.AddBehavior((invocation, next) => invocation.CreateValueReturn(null, invocation.Arguments)); stunt(3); Assert.Single(recorder.Invocations); }
public void WhenFakingFormatterThenCanInvokeIt() { var stunt1 = Stunt.Of <ICustomFormatter, IDisposable>(); var stunt2 = Stunt.Of <ICustomFormatter>(); stunt1.AddBehavior(new DefaultValueBehavior()); stunt1.InsertBehavior(0, (m, n) => m.CreateValueReturn(string.Format((string)m.Arguments[0], m.Arguments.Skip(1).ToArray())), m => m.MethodBase.Name == nameof(ICustomFormatter.Format), "Format"); stunt2.AddBehavior(new DefaultValueBehavior()); var result1 = stunt1.Format("Hello {0}", "World", null); var result2 = stunt2.Format("Hello {0}", "World", null); Console.WriteLine(result1); Console.WriteLine(result2); var bar = Stunt.Of <IBar>(); }
public void Configure() { // var instance = new MyClass(); var cloneable = Stunt.Of <ICloneable>(); }
public void WhenFakingCalculatorBase() { var fake = Stunt.Of <CalculatorBase>(); }
public static T Of <T>() => Stunt.Of <T>() .AddBehavior( (invocation, next) => invocation.CreateValueReturn(random.Next()), invocation => invocation.MethodBase is MethodInfo info && info.ReturnType == typeof(int));
public void CanCreateDelegateStunt() => Stunt.Of <EventHandler>();