コード例 #1
0
        public async Task Filter(string filter, string owner, string name, string url, int expectCount)
        {
            var contributedToRepositories = new[]
            {
                new RepositoryListItemModel
                {
                    Owner = owner,
                    Name  = name,
                    Url   = new Uri(url)
                }
            };
            var hostAddress            = HostAddress.GitHubDotComHostAddress;
            var connection             = CreateConnection(hostAddress);
            var repositoryCloneService = CreateRepositoryCloneService(contributedToRepositories, hostAddress);
            var gitHubContextService   = CreateGitHubContextService();
            var target = new RepositorySelectViewModel(repositoryCloneService, gitHubContextService);

            target.Filter = filter;
            target.Initialize(connection);

            await target.Activate();

            var items = target.ItemsView.Groups
                        .Cast <CollectionViewGroup>()
                        .SelectMany(g => g.Items)
                        .Cast <RepositoryItemViewModel>();

            Assert.That(items.Count, Is.EqualTo(expectCount));
        }
コード例 #2
0
        public void Set_Repository_When_Filter_Is_Url(string url, string expectUrl)
        {
            var expectCloneUrl         = expectUrl != null ? new UriString(expectUrl) : null;
            var repositoryCloneService = CreateRepositoryCloneService();
            var gitHubContextService   = new GitHubContextService(Substitute.For <IGitHubServiceProvider>(),
                                                                  Substitute.For <IGitService>(), Substitute.For <IVSServices>());
            var target = new RepositorySelectViewModel(repositoryCloneService, gitHubContextService);

            target.Filter = url;

            Assert.That(target.Repository?.CloneUrl, Is.EqualTo(expectCloneUrl));
        }
コード例 #3
0
        public void Change_Filters(string filters, string expectUrl)
        {
            var expectCloneUrl         = expectUrl != null ? new UriString(expectUrl) : null;
            var repositoryCloneService = CreateRepositoryCloneService();
            var gitHubContextService   = new GitHubContextService(Substitute.For <IGitHubServiceProvider>(),
                                                                  Substitute.For <IGitService>(), Substitute.For <IVSServices>());
            var target = new RepositorySelectViewModel(repositoryCloneService, gitHubContextService);

            foreach (var filter in filters.Split(';'))
            {
                target.Filter = filter;
            }

            Assert.That(target.Repository?.CloneUrl, Is.EqualTo(expectCloneUrl));
        }