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);
            }
        }
Esempio n. 2
0
        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());
        }