コード例 #1
0
        public void Generic_Constructor_WithCanExecuteParameter_CanExecuteIsNotNull()
        {
            ObservableVariable <bool> canExecute = new ObservableVariable <bool>();

            ObservableCommand <int> command = new ObservableCommand <int>(canExecute);

            Assert.IsNotNull(command.CanExecute);
        }
コード例 #2
0
        public MainViewModel()
        {
            this.Items = new ObservableCollection<TaskViewModel>();
            this.Completed = new ObservableCollection<TaskViewModel>();

            logOut = new ObservableCommand<Object>();
            auth.IsAuthenticated.Subscribe(logOut);
            logOut.Subscribe(v => auth.logOut());
        }
コード例 #3
0
        public void Generic_Constructor_WithCallbackParameter_OnRequestExecuteEventIsNotNull()
        {
            int callbackCount = 0;
            ObservableCommand <int> command = new ObservableCommand <int>((value) => callbackCount++);

            command.Execute(14);

            Assert.IsTrue(callbackCount == 1);
        }
コード例 #4
0
        public void Constructor_WithCallbackParameter_OnRequestExecuteEventIsNotNull()
        {
            int callbackCount         = 0;
            ObservableCommand command = new ObservableCommand(() => callbackCount++);

            command.Execute();

            Assert.IsTrue(callbackCount == 1);
        }
コード例 #5
0
        public ChooseTaskViewModel(ITfsApi tfs)
        {
            _tfs           = tfs;
            SpecialCommand = new ObservableCommand(CreateTask);

            Searcher = new WorkItemSearcher(_tfs, WorkItemTypes.Task)
            {
                Help = Resources.AS_ChooseTask
            };
        }
コード例 #6
0
        public ShellViewModel()
        {
            _semanticLoggingServiceInstalled = new ObservableProperty<bool>(false, this, () => SemanticLoggingServiceInstalled);
            _installSemanticLoggingService = new ObservableCommand();

            _behaviors = new CompositeDisposable(
                InstallSemanticLoggingServiceCommandShouldBeEnabledWhenSemanticLoggingServiceIsNotInstalled(),
                SemanticLoggingServiceShouldBeInstalledWhenInstallSemanticLoggingServiceCommandExecuted()
            );
        }
コード例 #7
0
        public void Execute_WhenCanExecute_RaiseEvent()
        {
            ObservableCommand command = new ObservableCommand();
            int callbackCount         = 0;

            command.ExecuteRequested += () => callbackCount++;

            command.Execute();

            Assert.IsTrue(callbackCount == 1);
        }
コード例 #8
0
        public SettingsViewModel(string currentConnection, ITfsApi api)
        {
            _api = api;

            ConnectCommand       = new ObservableCommand(OnConnect);
            SubmitCommand        = new ObservableCommand(OnSave, OnCanSave);
            ChooseLogFileCommand = new ObservableCommand(OnChooseFile);


            Init(currentConnection);
        }
コード例 #9
0
        public void Generic_Execute_WhenCanExecute_RaiseEvent()
        {
            ObservableCommand <int> command = new ObservableCommand <int>();
            int callbackCount = 0;

            command.ExecuteRequested += (int value) => callbackCount++;

            command.Execute(14);

            Assert.IsTrue(callbackCount == 1);
        }
コード例 #10
0
ファイル: MainViewModel.cs プロジェクト: snakeduse/TFSService
        public MainViewModel()
        {
            _safeExecutor = new SafeExecutor();

            ShowMonthlyCommand   = new ObservableCommand(ShowMonthly);
            UpdateCommand        = ObservableCommand.FromAsyncHandler(Update);
            SettingsCommand      = new ObservableCommand(ShowSettings);
            WriteOffHoursCommand = new ObservableCommand(OnWriteHours);

            Init();
        }
コード例 #11
0
        public AllArtistsViewModel(IEventAggregator eventAggregator)
        {
            _eventAggregator = eventAggregator;

            _artists = new ObservableCollection<Music.IArtist>();
            _selectArtistCommand = new ObservableCommand();

            _behaviours = new CompositeDisposable(
                EnsureArtistsAreRetrievedWhenServerIsConnected(),
                EnsureArtistSelectedMessagePublishedWhenSelectArtistCommandExecuted()
            );
        }
コード例 #12
0
        public void Generic_Execute_WhenCanExecute_ParameterIsReceived()
        {
            ObservableVariable <bool> canExecute = new ObservableVariable <bool>(true);
            ObservableCommand <int>   command    = new ObservableCommand <int>(canExecute);
            int mirrorVariable = -1;

            command.ExecuteRequested += (int value) => mirrorVariable = value;

            command.Execute(14);

            Assert.IsTrue(mirrorVariable == 14);
        }
コード例 #13
0
        public MainWindowViewModel(Service.IBridge bootstrapper)
        {
            _bridge = bootstrapper;

            _registerCommand = new ObservableCommand();
            _actionCommand = new ObservableCommand();

            _behaviors = new CompositeDisposable(
                EnsureRegisterCommandRegistersEntity(),
                EnsureActionCommandPerformsAction()
            );
        }
コード例 #14
0
        public AllArtistsViewModel(IEventAggregator eventAggregator)
        {
            _eventAggregator = eventAggregator;

            _artists             = new ObservableCollection <Music.IArtist>();
            _selectArtistCommand = new ObservableCommand();

            _behaviours = new CompositeDisposable(
                EnsureArtistsAreRetrievedWhenServerIsConnected(),
                EnsureArtistSelectedMessagePublishedWhenSelectArtistCommandExecuted()
                );
        }
コード例 #15
0
        public MainWindowViewModel(Service.IBridge bootstrapper)
        {
            _bridge = bootstrapper;

            _registerCommand = new ObservableCommand();
            _actionCommand   = new ObservableCommand();

            _behaviors = new CompositeDisposable(
                EnsureRegisterCommandRegistersEntity(),
                EnsureActionCommandPerformsAction()
                );
        }
コード例 #16
0
        public ShellViewModel()
        {
            _username = new ObservableProperty <string>(this, () => Username);
            _password = new ObservableProperty <string>(this, () => Password);

            _logInCommand  = new ObservableCommand();
            _cancelCommand = new ObservableCommand();

            _username.CombineLatest(_password, (username, password) => !string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(password)).Subscribe(_logInCommand);

            _logInCommand.Subscribe(ExecuteLogIn);
            _cancelCommand.Subscribe(ExecuteCancel);
        }
コード例 #17
0
        public void Generic_Execute_WhenCanNotExecute_DoNotRaiseEvent()
        {
            ObservableVariable <bool> canExecute = new ObservableVariable <bool>(true);
            ObservableCommand <int>   command    = new ObservableCommand <int>(canExecute);

            canExecute.Value = false;
            int callbackCount = 0;

            command.ExecuteRequested += (int value) => callbackCount++;

            command.Execute(14);

            Assert.IsTrue(callbackCount == 0);
        }
コード例 #18
0
        public void Execute_WhenCanNotExecute_DoNotRaiseEvent()
        {
            ObservableVariable <bool> canExecute = new ObservableVariable <bool>();
            ObservableCommand         command    = new ObservableCommand(canExecute);

            canExecute.Value = false;
            int callbackCount = 0;

            command.ExecuteRequested += () => callbackCount++;

            command.Execute();

            Assert.IsTrue(callbackCount == 0);
        }
コード例 #19
0
        public NewResponsesBaloonViewModel(IEnumerable <WorkItem> responses,
                                           IEnumerable <WorkItem> reviews,
                                           ITfsApi api,
                                           string title = null)
            : base(responses, title ?? Resources.AS_CodeReviewRequested)
        {
            _reviews = reviews.ToList();
            _api     = api;

            _time = TimeSpan.FromDays(Settings.Settings.Read().OldReviewDay);

            CloseReviewes    = ObservableCommand.FromAsyncHandler(OnCloseGoodLooking, OnCanCloseGoodLooking).ExecuteOnce();
            CloseOldReviewes = ObservableCommand.FromAsyncHandler(OnCloseOld, OnCanCloseOld).ExecuteOnce();
        }
コード例 #20
0
        public CreateTaskViewModel(ITfsApi tfs)
        {
            _tfs = tfs;
            // Ищем для привязки только указанные типы
            Searcher = new WorkItemSearcher(tfs,
                                            WorkItemTypes.Pbi,
                                            WorkItemTypes.Bug,
                                            WorkItemTypes.Improvement,
                                            WorkItemTypes.Incident)
            {
                Help = Resources.AS_ChooseParentItem
            };

            SubmitCommand = new ObservableCommand(CreateTask, OnCanCreateTask);
        }
コード例 #21
0
        public ChannelsViewModel(
            ICategoriesRepository categoriesRepository,
            ITranslationsService translationsService,
            INavigationService navigationService,
            IFactoryService factoryService,
            IDialogService dialogService)
        {
            (IsEmpty, IsLoading) = (false, true);
            Items       = new ObservableCollection <ChannelCategoryViewModel>();
            OpenSearch  = new ObservableCommand(navigationService.Navigate <SearchViewModel>);
            AddCategory = new ObservableCommand(async() =>
            {
                var name = await dialogService.ShowDialogForResults(
                    translationsService.Resolve("EnterNameOfNewCategory"),
                    translationsService.Resolve("EnterNameOfNewCategoryTitle"));
                if (string.IsNullOrWhiteSpace(name))
                {
                    return;
                }
                var category = new Category {
                    Title = name
                };
                await categoriesRepository.InsertAsync(category);
                Items.Add(factoryService.CreateInstance <
                              ChannelCategoryViewModel>(category, this));
            });
            Load = new ObservableCommand(async() =>
            {
                IsLoading.Value = true;
                var categories  = await categoriesRepository.GetAllAsync();
                Items.Clear();
                foreach (var category in categories)
                {
                    Items.Add(factoryService.CreateInstance <
                                  ChannelCategoryViewModel>(category, this));
                }
                IsEmpty.Value   = Items.Count == 0;
                IsLoading.Value = false;

                // Subscribe on collection changed to perform items rearranging.
                Items.CollectionChanged += async(s, a) =>
                {
                    IsEmpty.Value = Items.Count == 0;
                    var items     = Items.Select(i => i.Category.Value);
                    await categoriesRepository.RearrangeAsync(items);
                };
            });
        }
コード例 #22
0
        public FirstConnectionViewModel()
        {
            using (var settings = Settings.Settings.Read())
            {
                RememberedConnections = settings.Connections?.ToList() ?? new List <string>();

                if (!RememberedConnections.IsNullOrEmpty())
                {
                    Text = RememberedConnections.First();
                }
            }

            CheckConnectionCommand = ObservableCommand.FromAsyncHandler(Connect, CanConnect);
            SubmitCommand          = new ObservableCommand(() => { },
                                                           () => Connection == ConnectionType.Success);
        }
コード例 #23
0
ファイル: MenuViewModel.cs プロジェクト: wondial/myFeed
        public MenuViewModel(
            ITranslationsService translationsService,
            INavigationService navigationService,
            IPlatformService platformService,
            ISettingsService settingsService)
        {
            SelectedIndex = 0;
            Items         = new ObservableCollection <Tuple <string, object, ObservableCommand, Type> >();
            Load          = new ObservableCommand(async() =>
            {
                await navigationService.Navigate <FeedViewModel>();
                var theme = await settingsService.GetAsync <string>("Theme");
                await platformService.RegisterTheme(theme);
                var freq = await settingsService.GetAsync <int>("NotifyPeriod");
                await platformService.RegisterBackgroundTask(freq);
                await settingsService.SetAsync("LastFetched", DateTime.Now);
            });

            CreateItem <FeedViewModel>("FeedViewMenuItem");
            CreateItem <FaveViewModel>("FaveViewMenuItem");
            CreateItem <ChannelsViewModel>("SourcesViewMenuItem");
            CreateItem <SearchViewModel>("SearchViewMenuItem");
            CreateItem <SettingsViewModel>("SettingsViewMenuItem");
            navigationService.Navigated += (sender, args) =>
            {
                var first = Items.FirstOrDefault(x => x.Item4 == args);
                if (first == null)
                {
                    return;
                }
                SelectedIndex.Value = Items.IndexOf(first);
            };

            void CreateItem <T>(string key) where T : class
            {
                var type        = typeof(T);
                var command     = new ObservableCommand(navigationService.Navigate <T>);
                var translation = translationsService.Resolve(key);
                var icon        = navigationService.Icons[type];
                var tuple       = (translation, icon, command, type).ToTuple();

                Items.Add(tuple);
            }
        }
コード例 #24
0
        public SearchViewModel(ILog log, IDispatcherSchedulerProvider scheduler, IStandardDialog standardDialog, ISearchService service,
                               ReactiveSingleSelectCollection <Entity> entityCollection,
                               ReactiveSingleSelectCollection <Dimension> dimensionCollection,
                               BindableCollection <string> logOutputCollection)
            : base(log, scheduler, standardDialog)
        {
            _service = service;

            Disposables.Add(service);

            Entity    = entityCollection;
            Dimension = dimensionCollection;
            LogOutput = logOutputCollection;

            EntityEnterCommand    = new ObservableCommand();
            DimensionEnterCommand = new ObservableCommand();

            EntitySetup();
            DimensionSetup();
        }
コード例 #25
0
        public LogInPageViewModel(IAuthenticationService authenticationService)
        {
            _authenticationService = authenticationService;

            _username = new ObservableProperty<string>(this, () => Username);
            _password = new ObservableProperty<string>(this, () => Password);
            _error = new ObservableProperty<string>(this, () => Error);
            _logInCommand = new ObservableCommand();
            _cancelCommand = new ObservableCommand();

            _logInResponse = new Subject<AuthenticationResponse>();

            _behaviors = new CompositeDisposable(
                WhenTheUserHasEnteredBothUsernameAndPasswordThenEnableLogInButton(),
                WhenTheUserClicksTheLogInButtonAttemptToLogIn(),
                WhenASuccessfulLogInAttemptIsMadeCloseTheDialog(),
                WhenAnUnsuccessfulLogInAttemptIsMadeDisplayTheError(),
                WhenTheUserClicksTheCancelButtonCloseTheDialog()
            );
        }
コード例 #26
0
        private void CreateSaveToolBar(IToolBarService toolBarService)
        {
            var saveCommand = new ObservableCommand(Model.IsValid);

            saveCommand.Executed
            .ObserveOn(Scheduler.Task.RX)
            .SelectMany(_ => _service.SaveAsync()
                        .ToObservable()
                        .TakeUntil(BusyViewModel.BusyLatch))
            .TakeUntil(ClosingStrategy.Closed)
            .Subscribe(_ => { });

            var saveToolBarItem = toolBarService.CreateToolBarButtonItem();

            saveToolBarItem.DisplayName = "Save";
            saveToolBarItem.ImageName   = IconNames.SAVE;
            saveToolBarItem.Command     = saveCommand;

            ToolBarItems.Add(saveToolBarItem);

            this.SyncToolBarItemWithViewModelActivationState(saveToolBarItem).AddDisposable(Disposables);
        }
コード例 #27
0
        public ShellViewModel(ViewModels.IAllArtistsViewModel allArtistsViewModel, ViewModels.IAlbumsForArtistViewModel albumsForArtistViewModel, IEventAggregator eventAggregator)
        {
            Items.AddRange(new IScreen[] { allArtistsViewModel, albumsForArtistViewModel });

            AllArtistsViewModel      = allArtistsViewModel;
            AlbumsForArtistViewModel = albumsForArtistViewModel;

            _eventAggregator = eventAggregator;

            _host           = new ObservableProperty <string>("winplex", this, () => Host);
            _port           = new ObservableProperty <ushort>(32400, this, () => Port);
            _connectCommand = new ObservableCommand();
            _server         = new Subject <IServer>();

            ActivateItem(allArtistsViewModel);

            _behaviors = new CompositeDisposable(
                EnsureConnectCommandConnectsToServer(),
                EnsureServerConnectionIsPublished(),
                EnsureAlbumsForArtistsDisplayedWhenArtistSelected()
                );
        }
コード例 #28
0
        private List <ObservableCommand> CompileAndLinkTextSection()
        {
            var commandList = new List <ObservableCommand>();

            using (var memoryStream = new MemoryStream())
            {
                using (var binaryWriter = new BinaryWriter(memoryStream))
                {
                    var offset = 0;
                    foreach (var t in CommandList)
                    {
                        var observableCommand = new ObservableCommand
                        {
                            Status      = EntryPoint == offset ? EPipeline.Fetch : EPipeline.None,
                            Address     = (uint)offset,
                            Breakpoint  = false,
                            Commandline = t
                        };

                        foreach (var label in CommandTable.Where(label => label.Value == offset))
                        {
                            observableCommand.Label = label.Key;
                        }

                        commandList.Add(observableCommand);

                        var command = Parser.ParseLine(t);
                        command.Link(CommandTable, DataTable, offset);
                        offset += command.GetCommandSize(_align);
                        binaryWriter.Write(GenerateBytes(command, _align));
                    }

                    Ram.WriteTextSection(memoryStream.ToArray());
                }
            }

            return(commandList);
        }
コード例 #29
0
ファイル: SearchViewModel.cs プロジェクト: wondial/myFeed
 public SearchViewModel(
     IFactoryService factoryService,
     ISearchService searchService)
 {
     SearchQuery = string.Empty;
     (IsGreeting, IsEmpty, IsLoading) = (true, false, false);
     Items = new ObservableCollection <SearchItemViewModel>();
     Fetch = new ObservableCommand(async() =>
     {
         IsLoading.Value   = true;
         var query         = SearchQuery.Value;
         var searchResults = await searchService.SearchAsync(query);
         IsGreeting.Value  = false;
         Items.Clear();
         foreach (var feedlyItem in searchResults.Results)
         {
             Items.Add(factoryService.CreateInstance <
                           SearchItemViewModel>(feedlyItem));
         }
         IsEmpty.Value   = Items.Count == 0;
         IsLoading.Value = false;
     });
 }
コード例 #30
0
ファイル: SearchItemViewModel.cs プロジェクト: wondial/myFeed
        public SearchItemViewModel(
            ICategoriesRepository categoriesRepository,
            IPlatformService platformService,
            IDialogService dialogService,
            FeedlyItem feedlyItem)
        {
            Url         = feedlyItem.Website;
            Title       = feedlyItem.Title;
            ImageUri    = feedlyItem.IconUrl;
            Description = feedlyItem.Description;
            FeedUrl     = feedlyItem.FeedId?.Substring(5);

            CopyLink   = new ObservableCommand(() => platformService.CopyTextToClipboard(feedlyItem.Website));
            OpenInEdge = new ObservableCommand(async() =>
            {
                if (Uri.IsWellFormedUriString(feedlyItem.Website, UriKind.Absolute))
                {
                    await platformService.LaunchUri(new Uri(feedlyItem.Website));
                }
            });
            AddToSources = new ObservableCommand(async() =>
            {
                if (!Uri.IsWellFormedUriString(FeedUrl.Value, UriKind.Absolute))
                {
                    return;
                }
                var categories = await categoriesRepository.GetAllAsync();
                var response   = await dialogService.ShowDialogForSelection(categories);
                if (response is Category category)
                {
                    var source = new Channel {
                        Notify = true, Uri = FeedUrl.Value
                    };
                    await categoriesRepository.InsertChannelAsync(category, source);
                }
            });
        }
コード例 #31
0
ファイル: FaveViewModel.cs プロジェクト: wondial/myFeed
        public FaveViewModel(
            IFavoritesRepository favoritesReposirory,
            IFactoryService factoryService)
        {
            (IsEmpty, IsLoading) = (false, true);
            var longDatePattern = CultureInfo.CurrentCulture.DateTimeFormat.LongDatePattern;

            Items = new ObservableCollection <ObservableGrouping <string, ArticleViewModel> >();
            Load  = new ObservableCommand(async() =>
            {
                IsLoading.Value = true;
                var articles    = await favoritesReposirory.GetAllAsync();
                Items.Clear();
                var groupings = articles
                                .Select(i => factoryService.CreateInstance <ArticleViewModel>(i))
                                .OrderByDescending(i => i.PublishedDate.Value)
                                .GroupBy(i => i.PublishedDate.Value.ToString(longDatePattern))
                                .Select(i => new ObservableGrouping <string, ArticleViewModel>(i))
                                .ToList();

                groupings.ForEach(Items.Add);
                foreach (var grouping in groupings)
                {
                    foreach (var viewModel in grouping)
                    {
                        viewModel.IsFavorite.PropertyChanged += (o, args) => RemoveOrRestore(viewModel);
                    }
                }

                IsEmpty.Value   = Items.Count == 0;
                IsLoading.Value = false;
            });
            OrderByDate = new ObservableCommand(() =>
            {
                IsLoading.Value = true;
                var groupings   = Items
                                  .SelectMany(i => i)
                                  .OrderByDescending(i => i.PublishedDate.Value)
                                  .GroupBy(i => i.PublishedDate.Value.ToString(longDatePattern))
                                  .Select(i => new ObservableGrouping <string, ArticleViewModel>(i))
                                  .ToList();

                Items.Clear();
                groupings.ForEach(Items.Add);
                IsLoading.Value = false;
            });
            OrderByFeed = new ObservableCommand(() =>
            {
                IsLoading.Value = true;
                var groupings   = Items
                                  .SelectMany(i => i)
                                  .OrderBy(i => i.Feed.Value)
                                  .GroupBy(i => i.Feed.Value.ToString())
                                  .Select(i => new ObservableGrouping <string, ArticleViewModel>(i))
                                  .ToList();

                Items.Clear();
                groupings.ForEach(Items.Add);
                IsLoading.Value = false;
            });
            void RemoveOrRestore(ArticleViewModel viewModel)
            {
                if (!viewModel.IsFavorite.Value)
                {
                    var related = Items.First(i => i.Contains(viewModel));
                    related.Remove(viewModel);
                    if (related.Count == 0)
                    {
                        Items.Remove(related);
                    }
                }
                else
                {
                    const string restored = "*Restored";
                    var          existing = Items.FirstOrDefault(i => i.Key == restored);
                    if (existing == null)
                    {
                        Items.Add(new ObservableGrouping <
                                      string, ArticleViewModel>(restored, new[] { viewModel }));
                    }
                    else
                    {
                        existing.Add(viewModel);
                    }
                }
            }
        }
コード例 #32
0
        public AvailableJob(Job job)
        {
            this.Job = job;

            var cmd =new ObservableCommand();
            cmd.Subscribe(_ => OnToggleSelection());

            this.ToggleSelectionCommand = cmd;
        }
コード例 #33
0
ファイル: ArticleViewModel.cs プロジェクト: wondial/myFeed
        public ArticleViewModel(
            ICategoriesRepository categoriesRepository,
            ITranslationsService translationsService,
            INavigationService navigationService,
            IFavoritesService favoritesService,
            ISettingsService settingsService,
            IPlatformService platformService,
            IDialogService dialogService,
            Article article)
        {
            Title         = article.Title;
            Feed          = article.FeedTitle;
            Content       = article.Content;
            PublishedDate = article.PublishedDate;
            IsFavorite    = article.Fave;
            IsRead        = article.Read;

            Open  = new ObservableCommand(() => navigationService.Navigate <ArticleViewModel>(this));
            Image = new ObservableProperty <string>(async() =>
            {
                var shouldLoadImages = await settingsService.GetAsync <bool>("LoadImages");
                return(shouldLoadImages ? article.ImageUri : null);
            });
            Share = new ObservableCommand(() =>
            {
                var shareMessage = string.Concat(
                    article.Title, Environment.NewLine,
                    article.Uri, Environment.NewLine,
                    "via myFeed for Windows Universal");
                return(platformService.Share(shareMessage));
            });
            CopyLink = new ObservableCommand(async() =>
            {
                await platformService.CopyTextToClipboard(article.Uri);
                await dialogService.ShowDialog(
                    translationsService.Resolve("CopyLinkSuccess"),
                    translationsService.Resolve("SettingsNotification"));
            });
            LaunchUri = new ObservableCommand(async() =>
            {
                if (Uri.IsWellFormedUriString(article.Uri, UriKind.Absolute))
                {
                    await platformService.LaunchUri(new Uri(article.Uri));
                }
            });
            MarkRead = new ObservableCommand(async() =>
            {
                IsRead.Value = article.Read = !IsRead.Value;
                await categoriesRepository.UpdateArticleAsync(article);
            });
            MarkFavorite = new ObservableCommand(async() =>
            {
                IsFavorite.Value = !IsFavorite.Value;
                if (IsFavorite.Value)
                {
                    await favoritesService.Insert(article);
                }
                else
                {
                    await favoritesService.Remove(article);
                }
            });
        }
コード例 #34
0
        public void Generic_Constructor_WithNoParameters_CanExecuteValueIsTrue()
        {
            ObservableCommand <int> command = new ObservableCommand <int>();

            Assert.IsTrue(command.CanExecute.Value);
        }
コード例 #35
0
        public void Constructor_WithNoParameters_CanExecuteIsNotNull()
        {
            ObservableCommand command = new ObservableCommand();

            Assert.IsNotNull(command.CanExecute);
        }
コード例 #36
0
        public void Generic_Constructor_WithNoParameters_CanExecuteIsNotNull()
        {
            ObservableCommand <bool> command = new ObservableCommand <bool>();

            Assert.IsNotNull(command.CanExecute);
        }