public void ShouldHaveEmptyCollectionUntilExplicitlyLoaded()
 {
     var projects = new ProjectsViewModel(dataProvider);
     Assert.IsEmpty(projects.Collection);
     projects.LoadItems();
     Assert.IsNotEmpty(projects.Collection);
 }
 public void SetUp()
 {
     dataProvider = new DataProvider(
         new MockedTeamCityClient(),
         new Worker { IsAsync = false });
     projectsViewModel = new ProjectsViewModel(dataProvider);
     projectsViewModel.LoadItems();
 }
 public void ShouldPropagateSelectedBuild()
 {
     var projects = new ProjectsViewModel(dataProvider);
     projects.LoadItems();
     ProjectViewModel projectViewModel = projects.Collection[0];
     projectViewModel.LoadItems();
     BuildConfigViewModel buildConfigViewModel = projectViewModel.Collection[0];
     buildConfigViewModel.LoadItems();
     BuildViewModel buildViewModel = buildConfigViewModel.Collection[0];
     buildConfigViewModel.SelectedItem = buildViewModel;
     Assert.AreSame(buildViewModel, projects.SelectedBuild);
 }
 public ServerOverviewViewModel(
     IDataProvider dataProvider,
     IArtifactDownloader downloader,
     IFolderSelector folderSelector = null)
 {
     if (dataProvider == null)
     {
         throw new ArgumentNullException("dataProvider");
     }
     if (downloader == null)
     {
         throw new ArgumentNullException("downloader");
     }
     projects = new ProjectsViewModel(dataProvider);
     projects.PropertyChanged += ProjectPropertyChanged;
     projects.LoadItems();
     this.downloader = downloader;
     this.folderSelector = folderSelector;
 }