public void ManualMockingValidate02Test() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs") .Mock; cv.ConvertAmount(100m, Sample.CurrencyUnit.EUR, Sample.CurrencyUnit.USD); }
public void ManualMockingValidate01Test() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs") .ExpectAndReturn("ConvertAmount", 50m) .Mock; sess.ValidateSession(); }
public void ManualMockingValidate03Test() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs") .ExpectAndReturn("GetRate", 1.2m) .Mock; Assert.AreEqual(1.2m, cv.GetRate(Sample.CurrencyUnit.GBP)); sess.ValidateSession(); }
public void ManualMockingOutArgTest() { ManualMockSession sess = new ManualMockSession(); Sample.FooBar fb = (Sample.FooBar)sess.Mock(typeof(Sample.FooBar), "fb") .ExpectAndReturn("SomeMethodWithInsAndOuts", "OK", new object[] { 10, 11 }) .Mock; int a = 1, b = 2, c, d = 4; object result = fb.SomeMethodWithInsAndOuts(a, ref b, out c, d); Assert.AreEqual("OK", result); Assert.AreEqual(b, 10); Assert.AreEqual(c, 11); }
public void ManualMockingIncompatibilityTest() { ManualMockSession sess = new ManualMockSession(); ICustomFormatter cf = (ICustomFormatter)sess.Mock(typeof(Sample.ICurrencyService), "cs").Mock; }
public void ManualMockingScenarioTest() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs") .ExpectAndReturn("ConvertAmount", 50m) .ExpectAndReturn("ConvertAmount", 80m).WithArguments(50m, ExpectedValue.OfType(typeof(Sample.CurrencyUnit)), ExpectedValue.OfType(typeof(Sample.CurrencyUnit))) .ExpectAndReturn("ConvertAmount", 30m).WithArguments(ExpectedValue.Any, ExpectedValue.OfType(typeof(Sample.CurrencyUnit)), Sample.CurrencyUnit.EUR).RepeatTimes(3) .Mock; Sample.CurrencyServiceFactory.NextInstance = cv; Sample.Account acc = new Sample.Account(Sample.CurrencyUnit.EUR); acc.Deposit(100m); Assert.AreEqual(100m, acc.Balance); acc.SwitchCurrency(Sample.CurrencyUnit.GBP); Assert.AreEqual(50m, acc.Balance); acc.SwitchCurrency(Sample.CurrencyUnit.USD); Assert.AreEqual(80m, acc.Balance); acc.SwitchCurrency(Sample.CurrencyUnit.EUR); Assert.AreEqual(30m, acc.Balance); acc.SwitchCurrency(Sample.CurrencyUnit.EUR); Assert.AreEqual(30m, acc.Balance); try { acc.SwitchCurrency(Sample.CurrencyUnit.NULL); Assert.Fail("Exception expected."); } catch (ReplayMockException) { } sess.ValidateSession(); }
public void ManualMockingCompatibilityTest() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs").Mock; }
public void ManualMockingValidate06Test() { ManualMockSession sess = new ManualMockSession(); Sample.FooBar fb = (Sample.FooBar)sess.Mock(typeof(Sample.FooBar), "fb") .ExpectAndReturn("SomeMethodWithInsAndOuts", null).WithArguments(ExpectedValue.Any, ExpectedValue.Any, null, 4) .Mock; try { int a = 1, b = 2, c = 3, d = 0; fb.SomeMethodWithInsAndOuts(a, ref b, out c, d); Assert.Fail("Should have thrown exception."); } catch (ReplayMockException ex) { Assert.IsTrue(ex.Message.IndexOf("\"fourthin\"") >= 0, "Argument 'fourthin' should be marked to have an invalid value."); } }
public void ManualMockingValidate05Test() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs") .ExpectAndReturn("ConvertAmount", 50m).WithArguments(ExpectedValue.Any, Sample.CurrencyUnit.EUR, Sample.CurrencyUnit.GBP) .Mock; try { cv.ConvertAmount(100m, Sample.CurrencyUnit.EUR, Sample.CurrencyUnit.USD); Assert.Fail("Should have thrown exception."); } catch (ReplayMockException ex) { Assert.IsTrue(ex.Message.IndexOf("\"to\"") >= 0, "Argument 'to' should be marked to have an invalid value."); } }