or
/// <summary> /// Represents the Automatic Warehouse add in /// </summary> /// /// <seealso cref=""/> public class AutomaticWarehouseKpiAddInn: IKeyPerformanceIndicatorAddIn { /// <summary> /// Gets or sets the configuration extension service. /// </summary> [Dependency] public IConfigurationExtensionService ConfigurationExtensionService { get; set; } public void Initialize() { ConfigurationExtensionService.RegisterExtension(typeof(AutomaticWarehouseCommanderAddInConfiguration), new AutomaticWarehouseCommanderConveyorConfigConverter()); } }[TestMethod] public void InitializeRegisterExtensionCorrectly() { IConfigurationExtensionService configurationExtensionService = Mock.Create<ConverterConfigurationBuilder>(); AutomaticWarehouseKpiAddInn automaticWarehouseKpiAddInn = new AutomaticWarehouseKpiAddInn { ConfigurationExtensionService = configurationExtensionService }; Mock.Arrange(() => configurationExtensionService.RegisterExtension(null, null)).MustBeCalled(); automaticWarehouseKpiAddInn.Initialize(); Mock.Assert(configurationExtensionService); }
[TestClass]public class MsCorlibFixture{ static MsCorlibFixture() { Mock.Replace(() => Stopwatch.GetTimestamp()).In<MsCorlibFixture>(x => x.ShouldAssertCustomValueForDateTime()); } [TestMethod] public void ShouldAssertCustomValueForDateTime() { Mock.Arrange(() => Stopwatch.GetTimestamp()).Returns(100); var now = Stopwatch.GetTimestamp() Assert.AreEqual(100, now); }}



public void SaveChanges(){try{//some code here}catch (MyException dbEValEx){RaiseValidationError(dbEValEx);}catch (MySecondException dbUpdateException){RaiseUpdateException(dbUpdateException);}}
Any ideas of how to do it?//Class to be testedvar fooUnitOfWork = Mock.Create<UnitOfWork>(Behavior.CallOriginal);//Mock private methodMock.NonPublic.Arrange(fooUnitOfWork, "RaiseValidationError", dbEntityValidationException).DoNothing().MustBeCalled();//Execute method to testfooUnitOfWork.SaveChanges();Mock.Arrange(() => fooUnitOfWork.SaveChanges()).Throws(new DbEntityValidationException());//Make sure that the RaiseDBValidationError is calledMock.Assert(fooUnitOfWork);

I am implementing the test like this:public static class UnitOfWorkExtensions{public static void SetSubCategory(this IOperationTracer tracer, string subCategory){UnitOfWork unitOfWork = UnitOfWork.Current;if (unitOfWork != null && unitOfWork.CorrelationId != null){tracer.SetSubCategory(UnitOfWork.Current.CorrelationId, subCategory);}}}The test is failing and I don't have a clue why[TestMethod]public void SetSubCategoryTest(){Mock.SetupStatic(typeof(UnitOfWorkExtensions));IOperationTracer operationTracer = Mock.Create<OperationTracer>();Mock.Arrange(() => operationTracer.SetSubCategory(null, "subCategory")).DoNothing().OccursNever();UnitOfWorkExtensions.SetSubCategory(operationTracer, "subCategory");Mock.Assert(operationTracer);UnitOfWork.Current = new UnitOfWork();UnitOfWork.Current.CorrelationId = "11111";Mock.Arrange(() => operationTracer.SetSubCategory(null, "subCategory")).DoNothing().OccursOnce();UnitOfWorkExtensions.SetSubCategory(operationTracer, "subCategory");Mock.Assert(operationTracer);}


var entitiesMock = Mock.Create<Entities>();UserAccount userAccount = new UserAccount(){ Username = "UserName", Password = "Password"};// ArrangeList<UserAccount> userAccounts = new List<UserAccount>();Mock.Arrange(() => entitiesMock.AddToUserAccounts(Arg.IsAny<UserAccount>())).DoInstead(()=>userAccounts.Add(userAccount)); // ActentitiesMock.AddToUserAccounts(userAccount);// AssertAssert.AreEqual(1, userAccounts.Count);Assert.AreSame(userAccount, userAccounts[0]);Authentication authentication = new Authentication(entitiesMock);UserAccount authenticatedUserAccount=authentication.Authenticate(userAccount.Username, userAccount.Password, Authentication.PasswordFormat.PlainText);Assert.AreEqual(userAccount.Username, authenticatedUserAccount.Username);
Mock.Arrange(() => myService.Foo(Arg.AnyGuid)) .DoInstead(new System.Action<System.Guid>(Console.WriteLine));Mock.Assert(() => myService.Foo(Arg.AnyGuid), Occurs.Once());myService.Foo(Arg.Matches<Guid>(g => g != Guid.Empty))