or
And this is the Mock:publicclassBatchManager{publicIStorageInventoryService StorageInventoryService {get;set; }protectedvirtualvoidAddOrUpdateLoadCarrierRequest(LoadCarrierRequest loadCarrierRequest){List<DestinationStatus> destinationStatuses = StorageInventoryService.GetDestinationStatus(newList<string> { loadCarrierRequest.DestinationAddress });AddOrUpdateDestinationDictionary(destinationStatuses, loadCarrierRequest);AddOrUpdateBatchDictionary(loadCarrierRequest);AddOrUpdateLoadCarrierRequestDictionary(loadCarrierRequest);ExecuteNextTransport(destinationStatuses.Select(d => d.Address).ToList());}}
I am getting a null, instead of a List initialized..My test:publicclassMockBatchManager : BatchManager{publicnewvoidAddOrUpdateLoadCarrierRequest(LoadCarrierRequest loadCarrierRequest){base.AddOrUpdateLoadCarrierRequest(loadCarrierRequest);}}if I take a look on the line:[TestMethod]publicvoidAddOrUpdateLoadCarrierRequestAddsAnElementToEveryDictionary(){//ArrengeMockBatchManager mockBatchManager =newMockBatchManager{StorageInventoryService = Mock.Create<StorageInventoryService>()};//Mock.Arrange(() => mockBatchManager.ExecuteNextTransport(Arg.IsAny<List<string>>())).DoNothing();Mock.Arrange(() => mockBatchManager.StorageInventoryService.GetDestinationStatus(Arg.IsAny<List<string>>())).ReturnsCollection(newList<DestinationStatus>());//ActmockBatchManager.AddOrUpdateLoadCarrierRequest(loadCarrierRequest);//AssertAssert.IsTrue(mockBatchManager.DestinationDic.Count == 1);Assert.IsTrue(mockBatchManager.LoadCarrierRequestsDic.Count == 1);Assert.IsTrue(mockBatchManager.ConcurrentDestinationStatuses.Count == 1);Assert.IsTrue(mockBatchManager.BatchDic.Count == 1);}List<DestinationStatus> destinationStatuses = StorageInventoryService.GetDestinationStatus(newList<string> { loadCarrierRequest.DestinationAddress });

public partial class Manager{ protected static class DataAccess { public static void CallMyStoredProcedure() { } }}
private static LogonController CreateLogonController() { var controller = new LogonController(); var response = Mock.Create<HttpResponseBase>(); var httpContext = Mock.Create<HttpContextBase>(); var routeData = new RouteData(); var request = Mock.Create<HttpRequestBase>(); var cookies = new HttpCookieCollection(); var context = new ControllerContext(httpContext, routeData, Mock.Create<ControllerBase>()); var browser = Mock.Create<HttpBrowserCapabilitiesBase>(); response.Output = new StringWriter(); Mock.Arrange(() => browser.IsMobileDevice).Returns(false); Mock.Arrange(() => request.Cookies).Returns(cookies); Mock.Arrange(() => request.ValidateInput()); Mock.Arrange(() => request.UserAgent).Returns("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11"); Mock.Arrange(() => request.Browser).Returns(browser); Mock.Arrange(() => response.Cookies).Returns(cookies); Mock.Arrange(() => httpContext.Request).Returns(request); Mock.Arrange(() => httpContext.Response).Returns(response); routeData.Values.Add("controller", "LogonController"); routeData.Values.Add("action", "Index"); controller.ControllerContext = context; return controller; }public static class ApiExtensionMethods{ public static string Render(this ViewResult result, Controller controller) { controller.ViewData.Model = result.Model; try { using (var sw = new StringWriter()) { var viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, result.ViewName); var context = new ViewContext(controller.ControllerContext, viewResult.View, result.ViewData, result.TempData, sw); viewResult.View.Render(context, sw); return sw.GetStringBuilder().ToString(); } } catch (Exception e) { return e.ToString(); } }}
internal class MyClass{ private MyClass() { } private void PrivatelyDoWork(string stringValue) { } public static Action<object> HowMyClassWorks() { return (myString) => new MyClass().PrivatelyDoWork((string)myString); }}
class MyClass { public static int SomeStatic { get; private set;} static MyClass() { SomeStatic = 15; } } [Test] public void foo() { using (Mock.SetupStatic(typeof(MyClass), Behavior.Strict, StaticConstructor.Mocked)); { Mock.Arrange(() => MyClass.SomeStatic).Returns(5); Assert.AreEqual(5, MyClass.SomeStatic); } Assert.AreEqual(15, MyClass.SomeStatic); }


public void LoadConfiguartionSettingsTest() { // Arrange var inst = PrivateAccessor.ForType(typeof(Configuration)); var xdoc = (XDocument)inst.CallMethod("InitializeFile");
// Act inst.CallMethod("LoadConfiguartionSettings", new object[] { xdoc }); var resp = inst.GetProperty("AppSettings"); // This fails... I guess because it is a public property.
// Assert Assert.IsNotNull(resp); Assert.IsInstanceOfType(resp, typeof(List<AppSetting>)); }
locksViewModel.Query = Mock.Create<DataServiceQuery<EntityLock>>();public LocksViewModel(IEnumerable<LoadCarrier> selectedLoadCarriers, ILoadCarrierRepository loadCarrierRepository) { if (selectedLoadCarriers != null && loadCarrierRepository != null) { DataContext = loadCarrierRepository.DataModelServiceContext; Query = (DataServiceQuery<EntityLock>)loadCarrierRepository.GetEntityLocks(selectedLoadCarriers.Select(x=>x.Id));And I am getting this exception: Initialization method Tgw.Wcs.Windows.U.Test.ComponentTests.Modules.LoadCarriers.LocksViewModelTest .TestInitialize threw exception. System.InvalidCastException: System.InvalidCastException: Unable to cast object of type 'Castle.Proxies.IQueryable`1Proxy' to type 'System.Data.Services.Client.DataServiceQuery`1[Tgw.Wcs.Windows.Data.UIModel.EntityLock]'..IQueryable<EntityLock> entityLocks = Mock.Create<IQueryable<EntityLock>>();LoadCarrierRepository loadCarrierRepository = Mock.Create<LoadCarrierRepository>();loadCarrierRepository.DataContext = Mock.Create<ClientDataModelServiceContext>();Mock.Arrange(() => loadCarrierRepository.GetEntityLocks(Arg.IsAny<IEnumerable<Guid>>())).ReturnsCollection(entityLocks);Mock.Arrange(() => loadCarrierRepository.GetLockReasons()).ReturnsCollection(newList<string> {"fooLockReason1","fooLockReason2"});locksViewModel =newLocksViewModel(newObservableCollectionEx<LoadCarrier>() { loadCarrier }, loadCarrierRepository);

[TestInitialize] public void Initialize() { loadCarrierManager = new LoadCarrierManager(); loadCarrier = new LoadCarrier { Name = "LC1" }; //Creates a number of elements loadCarriers = CreateLoadCarriers(numberOfLoadcarriers); //First Mock the SIS Context storageAndInventoryContext = Mock.Create<StorageAndInventoryContext>(() => new StorageAndInventoryContext("Non"), Behavior.CallOriginal); //Mock the GetContext so it will return out Mocked element Mock.Arrange(() => StorageAndInventoryContextProvider.GetContext()) .Returns(storageAndInventoryContext); Mock.Arrange(() => storageAndInventoryContext.InventoryAccountSet.OfType<LoadCarrier>()) .ReturnsCollection(loadCarriers); } [TestMethod] [TestCategory(TgwTestingCategories.ServiceTest)] [WorkItem(11126)] public void UpdateLoadCarrierLocksLoadCarrier() { Parallel.For((long)0, 3, i => { using (var scope = new UnitOfWorkScope()) { for (int lcCount = numberOfLoadcarriers-1; lcCount > 0; lcCount--) { string lcName = string.Format("LC{0}", lcCount); LoadCarrierChangeSet loadCarrierChangeSet = new LoadCarrierChangeSet(); var lcToUpdate = loadCarrierManager.GetLoadCarrierData(lcName); loadCarrierChangeSet.Locks = new LockChangeSet("fooReason", "fooDescription"); loadCarrierManager.UpdateLoadCarrier(lcToUpdate.Name, loadCarrierChangeSet); } scope.Complete(); } }); using (new UnitOfWorkScope()) { var badEntityLocksDescriptions = storageAndInventoryContext.InventoryAccountSet.OfType<LoadCarrier>() .Select(x => x.EntityLocks.Where(y=>y.Description == "fooReason")); Assert.AreEqual(100, badEntityLocksDescriptions.Count()); } }
