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); }
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); }
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); }