private static void InvokeAndAssert(ComplexClass instance) { instance.DoNothing(); instance.DoSomething(); int arg = 1; instance.DoSomething(arg); instance.DoSomething(arg, "hiya"); //TODO: Intercept by ref calls. //Assert.AreEqual(arg, instance.Pong(ref arg)); instance.Name = "John Johnson"; Assert.AreEqual( "John Johnson", instance.Name ); instance.Started = true; Assert.IsTrue( instance.Started ); }