public void DefaultValueTest()
        {
            var settings = new DefaultViewModelSettings();
            settings.DefaultBusyMessage.ShouldEqual(string.Empty);

            settings.DisposeCommands.ShouldBeTrue();
            settings.HandleBusyMessageMode.ShouldEqual(HandleMode.Handle);
            settings.Metadata.ShouldNotBeNull();
            settings.State.ShouldNotBeNull();
        }
        public void DefaultBusyMessageShouldEqualsToSettingsDefaultBusyMessage()
        {
            const string busyMessage = "busy...";
            var settings = new DefaultViewModelSettings { DefaultBusyMessage = busyMessage };
            ServiceProvider.ViewModelSettingsFactory = model => settings;

            ViewModelBase viewModel = GetViewModelBase();

            viewModel.BeginBusy();
            viewModel.BusyMessage.ShouldEqual(busyMessage);
        }
        public void DefaultPropertiesShouldBeInitialized()
        {
            ThreadManager.ImmediateInvokeAsync = true;
            var settings = new DefaultViewModelSettings();
            ServiceProvider.ViewModelSettingsFactory = model => settings;
            ViewModelBase viewModel = GetViewModelBase();

            var testViewModel = viewModel.GetViewModel<TestViewModelBase>();
            testViewModel.ThreadManager.ShouldEqual(ThreadManager);
            testViewModel.IocContainer.ShouldEqual(viewModel.IocContainer);
            testViewModel.Settings.ShouldEqual(settings);
        }