namespace VideoBrowserTestApp.Tests { using System.Windows; using System.Windows.Input; using VideoBrowser.Common; /// /// Defines the . /// public abstract class TestBase : NotifyPropertyChanged { #region Constructors /// /// Initializes a new instance of the class. /// /// The name. protected TestBase(string name) { this.Name = name; this.TestCommand = new RelayCommand(this.InternalTest, nameof(this.TestCommand)); } #endregion Constructors #region Properties /// /// Gets the Name. /// public string Name { get; } /// /// Gets the TestCommand. /// public ICommand TestCommand { get; } #endregion Properties #region Methods /// /// The Test. /// /// The testWindow. protected abstract void Test(Window testWindow); /// /// The InternalTest. /// /// The obj. private void InternalTest(object obj) { Properties.Settings.Default.LastTest = this.Name; this.Test(obj as Window); } #endregion Methods } }