Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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);
        }