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 NoMockingTest() { using (RecorderManager.NewPlayBackSession("test", false)) { Sample.ICurrencyService srv = Sample.CurrencyServiceFactory.NextInstance; Assert.IsFalse(MockService.IsMock(srv)); } }
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 MockingTest() { using (RecorderManager.NewPlayBackSession("test", false)) { MockService.AddTypeToMock(typeof(Sample.CustomizableCurrencyService)); Sample.ICurrencyService srv = Sample.CurrencyServiceFactory.NextInstance; Assert.IsTrue(MockService.IsMock(srv)); } }
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 CustomMockingScenarioTest() { using (RecorderManager.NewPlayBackSession("test", false)) { MockService.AddTypeToMock(typeof(Sample.CustomizableCurrencyService)); Sample.ICurrencyService srv = Sample.CurrencyServiceFactory.NextInstance; decimal result = srv.ConvertAmount(100, Sample.CurrencyUnit.NULL, Sample.CurrencyUnit.GBP); Assert.AreEqual(100m, result); } }
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 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."); } }
private void PlainObjectMockingTest_Scenario(bool mocking, bool plainInstanceCreation) { // Create instance of a plain object (not a MarshalByRef) for mocking: Sample.PlainCurrencyService.WatchInstanceCreation(); Sample.ICurrencyService serv = (Sample.ICurrencyService)MockingTools.Construct("cs", typeof(Sample.PlainCurrencyService), typeof(Sample.ICurrencyService)); decimal d1, d2, r1, r2; d1 = serv.ConvertAmount(100m, Sample.CurrencyUnit.GBP, Sample.CurrencyUnit.USD); d2 = serv.ConvertAmount(d1, Sample.CurrencyUnit.USD, Sample.CurrencyUnit.GBP); r1 = serv.GetRate(Sample.CurrencyUnit.USD); r2 = serv.GetRate(Sample.CurrencyUnit.GBP); // Check mocking: Assert.AreEqual(mocking, MockService.IsMock(serv), "Mock should have been created."); Assert.AreEqual(plainInstanceCreation, Sample.PlainCurrencyService.IsInstanceCreated); // Check call results: Assert.AreNotEqual(100m, d1); Assert.AreEqual(100m, d2); Assert.AreEqual(1.2m, r1); Assert.AreEqual(0.7m, r2); }
public void ManualMockingCompatibilityTest() { ManualMockSession sess = new ManualMockSession(); Sample.ICurrencyService cv = (Sample.ICurrencyService)sess.Mock(typeof(Sample.ICurrencyService), "cs").Mock; }