private void UpdateBuildingInfluenceInputVisibility(BuildingInfluenceType type) { switch (type) { case BuildingInfluenceType.Radius: IsBuildingInfluenceInputRadiusVisible = true; IsBuildingInfluenceInputRangeVisible = false; //dockPanelPavedStreet.Visibility = Visibility.Collapsed; break; case BuildingInfluenceType.Distance: IsBuildingInfluenceInputRadiusVisible = false; IsBuildingInfluenceInputRangeVisible = true; //dockPanelPavedStreet.Visibility = Visibility.Visible; break; case BuildingInfluenceType.Both: IsBuildingInfluenceInputRadiusVisible = true; IsBuildingInfluenceInputRangeVisible = true; //dockPanelPavedStreet.Visibility = Visibility.Visible; break; case BuildingInfluenceType.None: default: IsBuildingInfluenceInputRadiusVisible = false; IsBuildingInfluenceInputRangeVisible = false; //dockPanelPavedStreet.Visibility = Visibility.Collapsed; break; } }
public void SelectedBuildingInfluence_TypeIsGiven_ShouldAdjustInputVisibility(BuildingInfluenceType typeToSet, bool expectedRadiusVisible, bool expectedRangeVisible) { // Arrange var viewModel = GetViewModel(); //to trigger PropertyChanged if (typeToSet != BuildingInfluenceType.None) { viewModel.SelectedBuildingInfluence = viewModel.BuildingInfluences.Single(x => x.Type == BuildingInfluenceType.None); } else { viewModel.SelectedBuildingInfluence = viewModel.BuildingInfluences.Single(x => x.Type == BuildingInfluenceType.Both); } viewModel.IsBuildingInfluenceInputRadiusVisible = !expectedRadiusVisible; viewModel.IsBuildingInfluenceInputRangeVisible = !expectedRangeVisible; // Act viewModel.SelectedBuildingInfluence = viewModel.BuildingInfluences.Single(x => x.Type == typeToSet); // Assert Assert.Equal(expectedRadiusVisible, viewModel.IsBuildingInfluenceInputRadiusVisible); Assert.Equal(expectedRangeVisible, viewModel.IsBuildingInfluenceInputRangeVisible); }