public void ShouldRedirectConversionCalls() { FontStretchConverter original = new FontStretchConverter(); FontStretchConverterDecorator decorated = new FontStretchConverterDecorator(); Assert.AreEqual <bool>(original.CanConvertFrom(null, typeof(string)), decorated.CanConvertFrom(null, typeof(string))); Assert.AreEqual <bool>(original.CanConvertTo(null, typeof(int)), decorated.CanConvertTo(null, typeof(int))); Assert.AreEqual(original.ConvertFrom(null, CultureInfo.InvariantCulture, "Condensed"), decorated.ConvertFrom(null, CultureInfo.InvariantCulture, "Condensed")); Assert.AreEqual(original.ConvertTo(null, CultureInfo.InvariantCulture, FontStretches.Condensed, typeof(string)), decorated.ConvertTo(null, CultureInfo.InvariantCulture, FontStretches.Condensed, typeof(string))); }
private void SelectFont() { var fontDialog = new FontDialog(); if (!string.IsNullOrEmpty(Options.FontFamily)) { fontDialog.Chooser.SelectedFontFamily = new FontFamily(Options.FontFamily); } if (Options.FontSize > 0) { fontDialog.Chooser.SelectedFontSize = Options.FontSize; } // ReSharper disable PossibleNullReferenceException if (!string.IsNullOrEmpty(Options.FontStretch)) { fontDialog.Chooser.SelectedFontStretch = (FontStretch)_fontStretchConverter.ConvertFrom(Options.FontStretch); } if (!string.IsNullOrEmpty(Options.FontStyle)) { fontDialog.Chooser.SelectedFontStyle = (FontStyle)_fontStyleConverter.ConvertFrom(Options.FontStyle); } if (!string.IsNullOrEmpty(Options.FontWeight)) { fontDialog.Chooser.SelectedFontWeight = (FontWeight)_fontWeightConverter.ConvertFrom(Options.FontWeight); } // ReSharper restore PossibleNullReferenceException var result = fontDialog.ShowDialog(); if (result.GetValueOrDefault()) { Options.FontFamily = fontDialog.Chooser.SelectedFontFamily.ToString(); Options.FontSize = fontDialog.Chooser.SelectedFontSize; Options.FontStyle = fontDialog.Chooser.SelectedFontStyle.ToString(); Options.FontStretch = fontDialog.Chooser.SelectedFontStretch.ToString(); Options.FontWeight = fontDialog.Chooser.SelectedFontWeight.ToString(); RaisePropertyChanged(() => Font); } }