public SelectorPanelViewModel(RootViewModel parent)
        {
            // Setup initial conditions.
            this.parent = parent;
            model = TestHarnessModel.Instance;
            modules = new ObservableCollectionWrapper<ViewTestClassesModule, ModuleNodeViewModel>(model.Modules, item => new ModuleNodeViewModel(item));
            Strings = new StringLibrary();

            // Create commands.
            AddAssemblyCommand = new DelegateCommand<Button>(param => OnAddAssemblyClick());
            AutoRunTestsCommand = new DelegateCommand<Button>(param => OnAutoRunTestsClick());
            RunUnitTests = new DelegateCommand<Button>(param => OnRunUnitTests());

            // Wire up events.
            model.PropertyChanged += (sender, e) =>
                                         {
                                             if (e.PropertyName == TestHarnessModel.PropCurrentClass) UpdateTestSelectorModel();
                                         };
        }
 public FooterPanelContainerViewModel()
 {
     Strings = new StringLibrary();
     Writer = new OutputWriter();
     Output.Register(Writer);
 }