public void LooksUpCommitWhenGitSourceIsFortyCharacters() { // Arrange string sha = "5a6940131b31f6958007ecbc0c51cbc35177f4e0"; var strykerOptions = new StrykerOptions(gitSource: sha); var commitMock = new Mock <Commit>(); var repositoryMock = new Mock <IRepository>(); var branchCollectionMock = new Mock <BranchCollection>(); branchCollectionMock .Setup(x => x.GetEnumerator()).Returns( ((IEnumerable <Branch>) new List <Branch>()).GetEnumerator()); repositoryMock.SetupGet(x => x.Branches).Returns(branchCollectionMock.Object); repositoryMock.Setup(x => x.Lookup(It.IsAny <ObjectId>())).Returns(commitMock.Object); var target = new GitInfoProvider(strykerOptions, repositoryMock.Object); // Act Commit result = target.DetermineCommit(); // Assert result.ShouldNotBeNull(); repositoryMock.Verify(x => x.Lookup(It.Is <ObjectId>(x => x.Sha == sha)), Times.Once); }
public void ReturnsTip_When_Friendly_Name_Is_GitSource() { // Arrange var options = new StrykerOptions(gitSource: "master"); var repositoryMock = new Mock <IRepository>(MockBehavior.Strict); var branchCollectionMock = new Mock <BranchCollection>(MockBehavior.Strict); var branchMock = new Mock <Branch>(); var commitMock = new Mock <Commit>(); branchMock .SetupGet(x => x.FriendlyName) .Returns("master"); branchMock .SetupGet(x => x.CanonicalName) .Returns("origin/master"); branchMock.SetupGet(x => x.Tip).Returns(commitMock.Object); branchCollectionMock .Setup(x => x.GetEnumerator()) .Returns(((IEnumerable <Branch>) new List <Branch> { branchMock.Object }).GetEnumerator()); repositoryMock .SetupGet(x => x.Branches) .Returns(branchCollectionMock.Object); var target = new GitInfoProvider(options, repositoryMock.Object); // Act var res = target.DetermineCommit(); // Assert res.ShouldNotBeNull(); res.ShouldBe(commitMock.Object); repositoryMock.Verify(); }
public void DetermineCommitThrowsStrykerInputException() { var strykerOptions = new StrykerOptions(gitSource: "master"); var repository = new Mock <IRepository>(); var branchCollectionMock = new Mock <BranchCollection>(); branchCollectionMock .Setup(x => x.GetEnumerator()).Returns( ((IEnumerable <Branch>) new List <Branch>()).GetEnumerator()); repository.SetupGet(x => x.Branches).Returns(branchCollectionMock.Object); var target = new GitInfoProvider(strykerOptions, repository.Object); void act() => target.DetermineCommit(); Should.Throw <StrykerInputException>(act); }