public void WillNotReturnUrlReturnedByWikiUrlFetchServiceIfUrlAlreadyVisited() { var user = TestableUser.Create(); var category = new Category { Slug = "test" }; var categoryUrl = new CategoryUrl { Url = "url", DateRetrieved = DateTime.Now }; var visit = new Visit { CategoryUrl = categoryUrl }; user.WikiUrlFetchService.Setup(s => s.GetUrl(category)) .Returns(new[] { categoryUrl }); user.Visits.Add(visit); var url = user.GetNextVisit(category); Assert.Null(url); }
/// <summary></summary> public override int GetHashCode() { var code = 13; // Calculate hash on each properties one by one code = (code * 7) + Id.GetHashCode(); if (ItemReference != null) { code = (code * 7) + ItemReference.GetHashCode(); } if (this.AnnotationsUrl != null) { code = (code * 7) + AnnotationsUrl.GetHashCode(); } if (this.CategoryUrl != null) { code = (code * 7) + CategoryUrl.GetHashCode(); } if (this.CreationTime != null) { code = (code * 7) + CreationTime.GetHashCode(); } code = (code * 7) + IsAckRequired.GetHashCode(); code = (code * 7) + IsAcknowledged.GetHashCode(); code = (code * 7) + IsDiscarded.GetHashCode(); if (this.Message != null) { code = (code * 7) + Message.GetHashCode(); } if (this.Name != null) { code = (code * 7) + Name.GetHashCode(); } if (this.ObjectUrl != null) { code = (code * 7) + ObjectUrl.GetHashCode(); } code = (code * 7) + Priority.GetHashCode(); if (this.Self != null) { code = (code * 7) + Self.GetHashCode(); } if (this.TypeUrl != null) { code = (code * 7) + TypeUrl.GetHashCode(); } if (this.Type != null) { code = (code * 7) + Type.GetHashCode(); } if (this.Category != null) { code = (code * 7) + Category.GetHashCode(); } return(code); }
public override int GetHashCode() { unchecked { var hashCode = CategoryId.GetHashCode(); hashCode = (hashCode * 397) ^ (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (FriendlyName != null ? FriendlyName.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (CategoryUrl != null ? CategoryUrl.GetHashCode() : 0); hashCode = (hashCode * 397) ^ CouponsCount.GetHashCode(); return(hashCode); } }
public void WillReturnUrlReturnedByWikiUrlFetchServiceIfUrlNotAlreadyVisited() { var user = TestableUser.Create(); var category = new Category { Slug = "test" }; var categoryUrl = new CategoryUrl { Url = "url", DateRetrieved = DateTime.Now }; user.WikiUrlFetchService.Setup(s => s.GetUrl(category)) .Returns(new[] { categoryUrl }); var url = user.GetNextVisit(category); Assert.True(user.Visits.Any(v => v.CategoryUrl == categoryUrl)); Assert.Same(categoryUrl, url); }
public void WillCallWikiUrlFetchServiceToGetUrlForAGivenCategory() { var user = TestableUser.Create(); var category = new Category { Slug = "test" }; var categoryUrl = new CategoryUrl { Url = "url", DateRetrieved = DateTime.Now }; user.WikiUrlFetchService.Setup(s => s.GetUrl(category)) .Returns(new[] { categoryUrl }) .Verifiable(); var url = user.GetNextVisit(category); user.WikiUrlFetchService.Verify(); }
public void WillNotReturnSameUrlWhenCalledTwiceEvenIfWikiUrlFetchServiceHasOnlyOneUrlAvailable() { var user = TestableUser.Create(); var category = new Category { Slug = "test" }; var categoryUrl = new CategoryUrl { Url = "url", DateRetrieved = DateTime.Now }; user.WikiUrlFetchService.Setup(s => s.GetUrl(category)) .Returns(new[] { categoryUrl }); var url1 = user.GetNextVisit(category); var url2 = user.GetNextVisit(category); Assert.NotNull(url1); Assert.Null(url2); }