public MainViewModelTests() { _mockedFileSystem = new MockFileSystem(); var commonsMock = new Mock <ICommons>(); commonsMock.SetupGet(x => x.CurrentLanguage).Returns(() => "English"); commonsMock.SetupGet(x => x.CurrentLanguageCode).Returns(() => "eng"); commonsMock.SetupGet(x => x.LanguageCodeMap).Returns(() => new Dictionary <string, string>()); _mockedCommons = commonsMock.Object; var mockedLocalizationHelper = new Mock <ILocalizationHelper>(); mockedLocalizationHelper.Setup(x => x.GetLocalization(It.IsAny <string>())).Returns <string>(x => x); mockedLocalizationHelper.Setup(x => x.GetLocalization(It.IsAny <string>(), It.IsAny <string>())).Returns((string value, string langauge) => value); _mockedLocalizationHelper = mockedLocalizationHelper.Object; Localization.Localization.Init(_mockedCommons); _mockedAppSettings = new Mock <IAppSettings>().Object; var annoCanvasMock = new Mock <IAnnoCanvas>(); annoCanvasMock.SetupAllProperties(); //The QuadTree does not have a default constructor, so we need to explicitly set up the property annoCanvasMock.Setup(x => x.PlacedObjects).Returns(new Core.DataStructures.QuadTree <LayoutObject>(new Rect(-100, -100, 200, 200))); _mockedAnnoCanvas = annoCanvasMock.Object; _inMemoryRecentFilesHelper = new RecentFilesHelper(new RecentFilesInMemorySerializer(), new MockFileSystem()); _mockedMessageBoxService = new Mock <IMessageBoxService>().Object; _mockedUpdateHelper = new Mock <IUpdateHelper>().Object; _mockedCellGrouper = Mock.Of <IAdjacentCellGrouper>(); }
private MainViewModel GetViewModel(ICommons commonsToUse = null, IAppSettings appSettingsToUse = null, IRecentFilesHelper recentFilesHelperToUse = null, IMessageBoxService messageBoxServiceToUse = null, IUpdateHelper updateHelperToUse = null, ILocalizationHelper localizationHelperToUse = null, IAnnoCanvas annoCanvasToUse = null, IFileSystem fileSystemToUse = null, IAdjacentCellGrouper adjacentCellGrouperToUse = null, ILayoutLoader layoutLoaderToUse = null) { return(new MainViewModel(commonsToUse ?? _mockedCommons, appSettingsToUse ?? _mockedAppSettings, recentFilesHelperToUse ?? _inMemoryRecentFilesHelper, messageBoxServiceToUse ?? _mockedMessageBoxService, updateHelperToUse ?? _mockedUpdateHelper, localizationHelperToUse ?? _mockedLocalizationHelper, fileSystemToUse ?? _mockedFileSystem, adjacentCellGrouper: adjacentCellGrouperToUse ?? _mockedCellGrouper, layoutLoaderToUse: layoutLoaderToUse) { AnnoCanvas = annoCanvasToUse ?? _mockedAnnoCanvas }); }