public void Normalized_text_returns_expected_text(string currentOwner, string currentRepo, string referenceOwner, string referenceRepo, int referenceId, string expectedText) { // ARRANGE var currentProject = new GitHubProjectInfo("example.com", currentOwner, currentRepo); var reference = new GitHubReference(new GitHubProjectInfo("example.com", referenceOwner, referenceRepo), referenceId); // ACT var sut = new GitHubReferenceTextElement("some-text", new("https://example.com"), currentProject, reference); // ASSERT Assert.Equal(expectedText, sut.NormalizedText); }
public void ToString_returns_expected_value_when_format_is_specified(string owner, string repo, int id, GitHubReferenceFormat format, string expected) { // ARRANGE var project = new GitHubProjectInfo("example.com", owner, repo); var sut = new GitHubReference(project, id); // ACT var actual = sut.ToString(format); // ASSERT Assert.Equal(expected, actual); }
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); }