private void FilterByGameVersion(CoreConstants.GameVersion versionsToUse) { foreach (var curGameItem in FilteredItems.OfType <GameHeaderTreeItem>()) { if (versionsToUse == CoreConstants.GameVersion.All) { curGameItem.IsVisible = true; continue; } curGameItem.IsVisible = versionsToUse.HasFlag(curGameItem.GameVersion); } }
public void SaveSettings_IsCalled_ShouldSavePresetsTreeGameVersionFilter(CoreConstants.GameVersion expectedPresetsTreeGameVersionFilter) { // Arrange var appSettings = new Mock <IAppSettings>(); appSettings.SetupAllProperties(); var viewModel = GetViewModel(null, appSettings.Object); viewModel.PresetsTreeViewModel.FilterGameVersion = expectedPresetsTreeGameVersionFilter; // Act viewModel.SaveSettings(); // Assert Assert.Equal(expectedPresetsTreeGameVersionFilter.ToString(), appSettings.Object.PresetsTreeGameVersionFilter); appSettings.Verify(x => x.Save(), Times.AtLeastOnce); }
public void LoadItems_BuildingsHaveHeader_ShouldSetCorrectGameVersion(string headerToSet, CoreConstants.GameVersion expectedGameVersion) { // Arrange var viewModel = new PresetsTreeViewModel(_mockedTreeLocalization); var buildings = new List <BuildingInfo> { new BuildingInfo { Header = headerToSet } }; var buildingPresets = new BuildingPresets(); buildingPresets.Buildings = buildings; // Act viewModel.LoadItems(buildingPresets); // Assert //first 2 items always the road items Assert.Equal(expectedGameVersion, (viewModel.Items[2] as GameHeaderTreeItem).GameVersion); }
public void FilterGameVersion_SubsetIsLoadedAndFilterTextIsEmpty_ShouldFilterByGameVersion(CoreConstants.GameVersion gameVersionsToFilter, int expectedMainNodeCount) { // Arrange var viewModel = new PresetsTreeViewModel(_mockedTreeLocalization); viewModel.LoadItems(_subsetFromPresetsFile); viewModel.FilterText = string.Empty; //make sure to really trigger the filter method if (viewModel.FilterGameVersion != CoreConstants.GameVersion.Unknown) { viewModel.FilterGameVersion = CoreConstants.GameVersion.Unknown; } else { viewModel.FilterGameVersion = CoreConstants.GameVersion.All; } // Act viewModel.FilterGameVersion = gameVersionsToFilter; // Assert //+ 2 road buildings Assert.Equal(2 + expectedMainNodeCount, viewModel.Items.Where(x => x.IsVisible).Count()); }