public void Test3() { TestClass tc1 = TypeAccessor.CreateInstance <TestClass> (); TestClass1 tc2 = TypeAccessor.CreateInstance <TestClass1>(); tc1.ClearTest2b(); int value1 = tc1.Test2(); int value2 = tc1.Test2(); int value3 = tc1.Test2(1); int value4 = tc1.Test2(1); Assert.AreEqual(value1, value2); Assert.AreEqual(value3, value4); tc2.ClearTest(); tc2.ClearTest1(); Assert.AreNotEqual(value1, tc1.Test2()); Assert.AreNotEqual(value3, tc1.Test2(1)); }