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);
        }