public ExportAndImportViewModel(Factories factories, CloudProviderFactory cloudProviderFactory,
     Vibration vibration, Cloud cloud, MessageDialog messageDialog, CloudMessages cloudMessages,
     BackgroundWorkerFactory workerFactory)
 {
     this.factories = factories;
     exportAndImport = new ExportAndImportImpl(factories);
     this.cloudProviderFactory = cloudProviderFactory;
     this.vibration = vibration;
     this.cloud = cloud;
     this.messageDialog = messageDialog;
     this.cloudMessages = cloudMessages;
     this.workerFactory = workerFactory;
 }
 public MainViewModel(Factories factories, Cloud cloud, TimerFactory timerFactory,
     BackgroundWorkerFactory workerFactory, MealEditingViewModel.BackNavigation mealEditingBackNavigation,
     JournalViewModel journal, ProductListingViewModel productListing, MealItemEditingViewModel mealItemEditing,
     MessageDialog messageDialog, WelcomeScreen welcomeScreen, CloudMessages cloudMessages)
 {
     this.factories = factories;
     this.cloud = cloud;
     this.timerFactory = timerFactory;
     this.workerFactory = workerFactory;
     this.mealEditingBackNavigation = mealEditingBackNavigation;
     this.journal = journal;
     this.productListing = productListing;
     this.mealItemEditing = mealItemEditing;
     this.messageDialog = messageDialog;
     this.cloudMessages = cloudMessages;
     WelcomeScreen = welcomeScreen;
     ShareStateProvider();
 }
 public void TestInitialize()
 {
     factories = Substitute.For<Factories>();
     cloudProviderFactory = Substitute.For<CloudProviderFactory>();
     cloudProvider = Substitute.For<CloudProvider>();
     cloudProviderFactory.Create().Returns(cloudProvider);
     settings = new Settings();
     factories.Settings.Returns(settings);
     vibration = Substitute.For<Vibration>();
     cloud = Substitute.For<Cloud>();
     messageDialog = Substitute.For<MessageDialog>();
     cloudMessages = new Fixture().Create<CloudMessages>();
     workerFactory = new BackgroundWorkerSyncFactory();
     sut = new ExportAndImportViewModel(factories, cloudProviderFactory, vibration, cloud, messageDialog,
         cloudMessages, workerFactory);
     cloudProvider.GetAcquiredToken().Returns(new CloudToken { Secret = "foo", Token = "bar" });
     cloudProvider.GetTokenAcquiringUrl(ExportAndImportViewModel.TOKEN_ACQUIRING_CALLBACK_URL).Returns("go");
     cloud.ListImports().Returns(new List<string>());
     navigatedTo = string.Empty;
     sut.NavigateInBrowser += (_, url) => { navigatedTo = url; };
 }
 private MainViewModel CreateSut(Factories factories = null, Cloud cloud = null,
     TimerFactory timerFactory = null, ProductListingViewModel productListing = null,
     MealItemEditingViewModel mealItemEditing = null, MessageDialog messageDialog = null,
     WelcomeScreen welcomeScreen = null, CloudMessages cloudMessages = null)
 {
     if (factories == null)
         factories = Substitute.For<Factories>();
     if (cloud == null)
         cloud = Substitute.For<Cloud>();
     if (timerFactory == null)
         timerFactory = Substitute.For<TimerFactory>();
     if (productListing == null)
         productListing = new ProductListingViewModel(factories, new BackgroundWorkerSyncFactory());
     if (mealItemEditing == null)
         mealItemEditing = new MealItemEditingViewModel();
     if (messageDialog == null)
         messageDialog = Substitute.For<MessageDialog>();
     if (welcomeScreen == null)
         welcomeScreen = new WelcomeScreenImpl(messageDialog);
     if (cloudMessages == null)
         cloudMessages = new CloudMessages();
     var journal = new JournalViewModel(factories, new BackgroundWorkerSyncFactory(),
         new SugarEditingViewModel());
     return new MainViewModel(factories, cloud, timerFactory, new BackgroundWorkerSyncFactory(),
         new MealEditingViewModel.BackNavigation(), journal, productListing, mealItemEditing, messageDialog,
         welcomeScreen, cloudMessages);
 }