コード例 #1
0
        public void IsUpToDate_DateOutSideHour_ReturnsFalse()
        {
            var target = new SearchThreadPosts() { LastUpdated = DateTime.Now.AddHours(-2) };
            Assert.IsFalse(target.IsUpToDate(null));

        }
コード例 #2
0
        private IDnaDataReaderCreator CreateMockCreator(SearchThreadPosts searchThreadPosts, string spName)
        {
            Queue<int> postIdQueue = new Queue<int>();
            Queue<int> rankQueue = new Queue<int>();
            Queue<string> textQueue = new Queue<string>();

            foreach (var post in searchThreadPosts.Posts)
            {
                postIdQueue.Enqueue(post.PostId);
                rankQueue.Enqueue(post.Rank);
                textQueue.Enqueue(post.Text);
            }

            
            var reader = Mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(true);
            reader.Stub(x => x.Read()).Return(true).Repeat.Times(searchThreadPosts.Posts.Count);
            reader.Stub(x => x.GetInt32NullAsZero("totalresults")).Return(searchThreadPosts.TotalPostCount);
            reader.Stub(x => x.GetInt32NullAsZero("EntryID")).Return(0).WhenCalled(x => x.ReturnValue = postIdQueue.Dequeue());
            reader.Stub(x => x.GetInt32NullAsZero("forumid")).Return(searchThreadPosts.ForumId);
            reader.Stub(x => x.GetInt32NullAsZero("threadid")).Return(searchThreadPosts.ThreadId);
            reader.Stub(x => x.GetInt32NullAsZero("rank")).Return(0).WhenCalled(x => x.ReturnValue =rankQueue.Dequeue());
            reader.Stub(x => x.GetStringNullAsEmpty("text")).Return("").WhenCalled(x => x.ReturnValue = textQueue.Dequeue());
            reader.Stub(x => x.DoesFieldExist("forumid")).Return(true);
            reader.Stub(x => x.DoesFieldExist("EntryID")).Return(true);
            reader.Stub(x => x.DoesFieldExist("threadid")).Return(true);
            reader.Stub(x => x.DoesFieldExist("rank")).Return(true);
            reader.Stub(x => x.DoesFieldExist("text")).Return(true);

            var readerCreator = Mocks.DynamicMock<IDnaDataReaderCreator>();
            readerCreator.Stub(x => x.CreateDnaDataReader(spName)).Return(reader);

            return readerCreator;

        }
コード例 #3
0
        public void IsUpToDate_DateWithinHour_ReturnsTrue()
        {
            var target = new SearchThreadPosts() { LastUpdated = DateTime.Now.AddMinutes(-1) };
            Assert.IsTrue(target.IsUpToDate(null));

        }
コード例 #4
0
        private SearchThreadPosts GetListOfSearchPosts(int siteId, int forumId, int threadId, string textToSearch, int count, DateTime lastUpdated)
        {
            var searchThreadPosts = new SearchThreadPosts()
            {
                TotalPostCount = count,
                LastUpdated = lastUpdated,
                ForumId = forumId,
                ThreadId = threadId,
                SearchTerm = textToSearch,
                SiteId = siteId
            };
            for (int i = 0; i < count; i++)
            {
                var searchThreadPost = new SearchThreadPost()
                {
                    ForumId = forumId,
                    ThreadId = threadId,
                };
                var rand = new Random(DateTime.Now.Millisecond);

                searchThreadPost.PostId = rand.Next(Int32.MaxValue);
                searchThreadPost.Rank= rand.Next(Int32.MaxValue);
                searchThreadPost.Text = RandomStringGenerator.NextString(5) + textToSearch + RandomStringGenerator.NextString(5);
                searchThreadPosts.Posts.Add(searchThreadPost);
            }
            return searchThreadPosts;
        
        }