public void AddIssue_IssueIsInList_DoesNotAddIssueAndReturnsCorrectResult() { using (InMemoryIssueStore store = new InMemoryIssueStore()) { using (ShimsContext.Create()) { IFingerprint actualFingerprint = null; IFingerprint fingerprint = new StubIFingerprint { EqualsIFingerprint = (f) => { actualFingerprint = f; return(true); } }; Issue issue1 = new ShimIssue { FingerprintGet = () => fingerprint, }; Assert.AreEqual(AddResult.ItemAdded, store.AddIssue(issue1)); Assert.IsNull(actualFingerprint); Issue issue2 = new ShimIssue { FingerprintGet = () => fingerprint, }; Assert.AreEqual(AddResult.ItemAlreadyExists, store.AddIssue(issue2)); Assert.AreSame(fingerprint, actualFingerprint); List <Issue> issueList = store.Issues.ToList(); Assert.AreEqual(1, issueList.Count); Assert.AreSame(issue1, issueList[0]); } } }
public void TryFindIssue_FingerprintDoesMatch_ReturnsTrueAndCorrectIssue() { using (InMemoryIssueStore store = new InMemoryIssueStore()) { using (ShimsContext.Create()) { IFingerprint actualFingerprint = null; IFingerprint fingerprint = new StubIFingerprint { EqualsIFingerprint = (f) => { actualFingerprint = f; return(true); }, }; Issue issue = new ShimIssue { FingerprintGet = () => fingerprint, }; store.AddIssue(issue); Assert.IsTrue(store.TryFindIssue(fingerprint, out Issue actualIssue)); Assert.AreSame(fingerprint, actualFingerprint); Assert.AreSame(issue, actualIssue); } } }
public void AddIssue_IssueIsNull_ThrowsArgumentNullException() { using (InMemoryIssueStore store = new InMemoryIssueStore()) { try { store.AddIssue(null); } catch (ArgumentNullException e) { Assert.AreEqual("issue", e.ParamName); throw; } } }
public void AddIssue_IssueIsNotInList_AddsIssueAndReturnsCorrectResult() { using (InMemoryIssueStore store = new InMemoryIssueStore()) { using (ShimsContext.Create()) { Issue issue = new ShimIssue { FingerprintGet = () => new StubIFingerprint(), }; Assert.AreEqual(AddResult.ItemAdded, store.AddIssue(issue)); List <Issue> issueList = store.Issues.ToList(); Assert.AreEqual(1, issueList.Count); Assert.AreSame(issue, issueList[0]); } } }