示例#1
0
            public void TryParse_fails_for_invalid_references(string input)
            {
                // ARRANGE
                var currentProject = new GitHubProjectInfo("example.com", "owner", "repo");

                // ACT
                var success = GitHubReference.TryParse(input, currentProject, out var result);

                // ASSERT
                Assert.False(success);
                Assert.Null(result);
            }
示例#2
0
            public void TryParse_throws_ArgumentNullException_when_current_project_is_null()
            {
                // ARRANGE

                // ACT
                var ex = Record.Exception(() => GitHubReference.TryParse("#23", null !, out var result));

                // ASSERT
                var argumentNullException = Assert.IsType <ArgumentNullException>(ex);

                Assert.Equal("currentProject", argumentNullException.ParamName);
            }
示例#3
0
            public void TryParse_succeeds_for_parsable_references(string input, string currentRepositoryOwner, string currentRepositoryName, string expecedRepositoryOwner, string expectedRepositoryName, int expectedId)
            {
                // ARRANGE

                // ACT
                var success = GitHubReference.TryParse(input, new("example.com", currentRepositoryOwner, currentRepositoryName), out var parsed);

                // ASSERT
                Assert.True(success);
                Assert.NotNull(parsed);
                Assert.Equal("example.com", parsed !.Project.Host);
                Assert.Equal(expecedRepositoryOwner, parsed.Project.Owner);
                Assert.Equal(expectedRepositoryName, parsed.Project.Repository);
                Assert.Equal(expectedId, parsed.Id);
            }