当前位置: 首页>>代码示例>>C#>>正文


C# Mock.FakeFetch方法代码示例

本文整理汇总了C#中Mock.FakeFetch方法的典型用法代码示例。如果您正苦于以下问题:C# Mock.FakeFetch方法的具体用法?C# Mock.FakeFetch怎么用?C# Mock.FakeFetch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mock的用法示例。


在下文中一共展示了Mock.FakeFetch方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Users_get_associated_test

        public void Users_get_associated_test()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, null);

            //http://api.stackexchange.com/2.0/users/1998/associated?pagesize=2
            mock.FakeFetch(response: @"{""items"":[{""site_name"":""Stack Overflow"",""site_url"":""http://stackoverflow.com"",""user_id"":2749,""reputation"":4365,""account_id"":1998,""creation_date"":1219613204,""badge_counts"":{""gold"":1,""silver"":13,""bronze"":26},""last_access_date"":1334611626,""answer_count"":144,""question_count"":20},{""site_name"":""Server Fault"",""site_url"":""http://serverfault.com"",""user_id"":31532,""reputation"":101,""account_id"":1998,""creation_date"":1263334764,""badge_counts"":{""gold"":0,""silver"":0,""bronze"":3},""last_access_date"":1334610908,""answer_count"":0,""question_count"":0}],""quota_remaining"":-212787,""quota_max"":300,""has_more"":true}");

            var client = mock.Object;

            var result = client.Users.GetAssociated(new int[] { 1998 }, pagesize: 2).Result;
            Assert.IsTrue(result.Success);

            var networkUser = result.Data.Items.First();
            Assert.AreEqual("Stack Overflow", networkUser.SiteName);
            Assert.AreEqual("http://stackoverflow.com", networkUser.SiteUrl);
            Assert.AreEqual(2749, networkUser.UserId);
            Assert.AreEqual(4365, networkUser.Reputation);
            Assert.AreEqual(1998, networkUser.AccountId);
            Assert.AreEqual(1219613204L.ToDateTime(), networkUser.CreationDate);
            Assert.AreEqual(1, networkUser.BadgeCounts.Gold);
            Assert.AreEqual(13, networkUser.BadgeCounts.Silver);
            Assert.AreEqual(26, networkUser.BadgeCounts.Bronze);
            Assert.AreEqual(1334611626L.ToDateTime(), networkUser.LastAccessDate);
            Assert.AreEqual(144, networkUser.AnswerCount);
            Assert.AreEqual(20, networkUser.QuestionCount);
            Assert2.Throws<Exceptions.FilterException>(() => { var t = networkUser.UserType; });
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:27,代码来源:UserMethodTests.cs

示例2: Backoff_test

        public void Backoff_test()
        {
            var mockSlow = new Mock<StacManClient>(FilterBehavior.Strict, null);
            var mockFast = new Mock<StacManClient>(FilterBehavior.Strict, null);

            //http://api.stackexchange.com/2.0/users?pagesize=1&site=stackoverflow
            mockSlow.FakeFetch(response: @"{""backoff"":1,""items"":[{""user_id"":22656,""user_type"":""registered"",""creation_date"":1222430705,""display_name"":""Jon Skeet"",""profile_image"":""http://www.gravatar.com/avatar/6d8ebb117e8d83d74ea95fbdd0f87e13?d=identicon&r=PG"",""reputation"":431980,""reputation_change_day"":365,""reputation_change_week"":2286,""reputation_change_month"":9666,""reputation_change_quarter"":9666,""reputation_change_year"":44922,""age"":35,""last_access_date"":1335550327,""last_modified_date"":1335533187,""is_employee"":false,""link"":""http://stackoverflow.com/users/22656/jon-skeet"",""website_url"":""http://csharpindepth.com"",""location"":""Reading, United Kingdom"",""account_id"":11683,""badge_counts"":{""gold"":124,""silver"":1896,""bronze"":3221},""accept_rate"":95}],""quota_remaining"":109,""quota_max"":300,""has_more"":true}");
            mockFast.FakeFetch(response: @"{""items"":[{""user_id"":22656,""user_type"":""registered"",""creation_date"":1222430705,""display_name"":""Jon Skeet"",""profile_image"":""http://www.gravatar.com/avatar/6d8ebb117e8d83d74ea95fbdd0f87e13?d=identicon&r=PG"",""reputation"":431980,""reputation_change_day"":365,""reputation_change_week"":2286,""reputation_change_month"":9666,""reputation_change_quarter"":9666,""reputation_change_year"":44922,""age"":35,""last_access_date"":1335550327,""last_modified_date"":1335533187,""is_employee"":false,""link"":""http://stackoverflow.com/users/22656/jon-skeet"",""website_url"":""http://csharpindepth.com"",""location"":""Reading, United Kingdom"",""account_id"":11683,""badge_counts"":{""gold"":124,""silver"":1896,""bronze"":3221},""accept_rate"":95}],""quota_remaining"":109,""quota_max"":300,""has_more"":true}");

            var clientSlow = mockSlow.Object;
            var clientFast = mockFast.Object;

            Action<StacManClient, Action<long>> measure = (client, verifyElapsedMs) =>
            {
                var stopwatch = System.Diagnostics.Stopwatch.StartNew();
                var result = client.Users.GetAll("stackoverflow", pagesize: 1).Result;
                var result2 = client.Users.GetAll("stackoverflow", pagesize: 1).Result;
                verifyElapsedMs(stopwatch.ElapsedMilliseconds);
            };

            measure(clientSlow, elapsedMs => Assert.IsTrue(elapsedMs >= 1000));
            measure(clientFast, elapsedMs => Assert.IsTrue(elapsedMs < 1000));

            clientSlow.RespectBackoffs = false;
            measure(clientSlow, elapsedMs => Assert.IsTrue(elapsedMs < 1000));
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:26,代码来源:BackoffTests.cs

示例3: Info_get_test

        public void Info_get_test()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, null);

            //http://api.stackexchange.com/2.0/info?site=english
            mock.FakeFetch(response: @"{""items"":[{""total_questions"":14647,""total_unanswered"":15,""total_accepted"":10674,""total_answers"":41975,""questions_per_minute"":0.01,""answers_per_minute"":0.02,""total_comments"":112674,""total_votes"":251459,""total_badges"":41800,""badges_per_minute"":0.02,""total_users"":17118,""new_active_users"":1,""api_revision"":""2012.4.12.2100""}],""quota_remaining"":291,""quota_max"":300,""has_more"":false}");

            var client = mock.Object;

            var result = client.Info.Get("english").Result;
            Assert.IsTrue(result.Success);
            
            var info = result.Data.Items.Single();
            Assert.AreEqual(14647, info.TotalQuestions);
            Assert.AreEqual(15, info.TotalUnanswered);
            Assert.AreEqual(10674, info.TotalAccepted);
            Assert.AreEqual(41975, info.TotalAnswers);
            Assert.AreEqual(.01m, info.QuestionsPerMinute);
            Assert.AreEqual(.02m, info.AnswersPerMinute);
            Assert.AreEqual(112674, info.TotalComments);
            Assert.AreEqual(251459, info.TotalVotes);
            Assert.AreEqual(41800, info.TotalBadges);
            Assert.AreEqual(.02m, info.BadgesPerMinute);
            Assert.AreEqual(17118, info.TotalUsers);
            Assert.AreEqual(1, info.NewActiveUsers);
            Assert.AreEqual("2012.4.12.2100", info.ApiRevision);
            Assert2.Throws<Exceptions.FilterException>(() => { var s = info.Site; });
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:28,代码来源:InfoMethodTests.cs

示例4: Test_response_debugging_properties

        public void Test_response_debugging_properties()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, "myappkey");

            //http://api.stackexchange.com/2.0/suggested-edits?pagesize=2&site=superuser
            mock.FakeFetch(response: @"{""items"":[{""suggested_edit_id"":10345,""post_id"":410422,""post_type"":""question"",""comment"":""Removed unnecessary greetings"",""creation_date"":1333996736,""proposing_user"":{""user_id"":111438,""display_name"":""dnbrv"",""reputation"":348,""user_type"":""registered"",""profile_image"":""http://www.gravatar.com/avatar/0299470f4dcad8b4d79fd01c5dc7be4a?d=identicon&r=PG"",""link"":""http://superuser.com/users/111438/dnbrv""}},{""suggested_edit_id"":10344,""post_id"":410423,""post_type"":""question"",""comment"":""updated info"",""creation_date"":1333995585,""approval_date"":1333997046,""proposing_user"":{""user_id"":127397,""display_name"":""James Wilson"",""reputation"":3,""user_type"":""unregistered"",""profile_image"":""http://www.gravatar.com/avatar/ace280d5491b40c2645d856bf20337a3?d=identicon&r=PG"",""link"":""http://superuser.com/users/127397/james-wilson""}}],""quota_remaining"":262,""quota_max"":300,""has_more"":true}");

            var client = mock.Object;

            var response = client.SuggestedEdits.GetAll("superuser", pagesize: 2).Result;
            Assert.IsTrue(response.ApiUrl.Contains("site=superuser"));
            Assert.IsTrue(response.ApiUrl.Contains("pagesize=2"));
            Assert.IsTrue(response.ApiUrl.Contains("key=myappkey"));

            Assert.IsNotNull(response.RawData);
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:16,代码来源:StacManResponseTests.cs

示例5: Api_web_exception_response

        public void Api_web_exception_response()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, null);
            var client = mock.Object;

            mock.FakeFetch(throws: new System.Net.WebException("timeout"));
            
            var response = client.Users.GetAll("gaming.stackexchange.com").Result;
            
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Data);
            Assert.IsInstanceOfType(response.Error, typeof(System.Net.WebException));
            Assert.IsFalse(response.ReceivedApiResponse);
            Assert.IsNotNull(response.ApiUrl);
            Assert.IsNull(response.RawData);
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:16,代码来源:StacManResponseTests.cs

示例6: Tags_get_all_test

        public void Tags_get_all_test()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, null);

            //http://api.stackexchange.com/2.0/tags?page=3&pagesize=2&order=desc&sort=popular&site=gaming
            mock.FakeFetch(response: @"{""items"":[{""name"":""league-of-legends"",""count"":768,""is_required"":false,""is_moderator_only"":false,""has_synonyms"":true},{""name"":""pc"",""count"":607,""is_required"":false,""is_moderator_only"":false,""has_synonyms"":false}],""quota_remaining"":-47478,""quota_max"":300,""has_more"":true}");

            var client = mock.Object;

            var result = client.Tags.GetAll("gaming", page: 3, pagesize: 2, order: Order.Desc, sort: Tags.Sort.Popular).Result;
            Assert.IsTrue(result.Success);

            var tag = result.Data.Items.Skip(1).First();

            Assert.AreEqual("pc", tag.Name);
            Assert.AreEqual(607, tag.Count);
            Assert.IsFalse(tag.IsRequired);
            Assert.IsFalse(tag.IsModeratorOnly);
            Assert.IsFalse(tag.HasSynonyms);
            Assert.IsNull(tag.UserId);
            Assert2.Throws<Exceptions.FilterException>(() => { var d = tag.LastActivityDate; });
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:22,代码来源:TagMethodTests.cs

示例7: Stack_Exchange_API_Exception_response

        public void Stack_Exchange_API_Exception_response()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, null);

            //http://api.stackexchange.com/2.0/inbox?access_token=foo
            mock.FakeFetch(response: @"{""error_id"":405,""error_name"":""key_required"",""error_message"":""`key` is required when `access_token` is passed.""}");

            var client = mock.Object;

            var response = client.Inbox.Get("foo").Result;

            Assert.IsFalse(response.Success);
            Assert.IsTrue(response.ReceivedApiResponse);
            Assert.IsNotNull(response.RawData);
            Assert.IsInstanceOfType(response.Error, typeof(Exceptions.StackExchangeApiException));
            Assert.AreEqual(405, ((Exceptions.StackExchangeApiException)response.Error).ErrorId);
            Assert.AreEqual("key_required", ((Exceptions.StackExchangeApiException)response.Error).ErrorName);
            Assert.AreEqual("`key` is required when `access_token` is passed.", ((Exceptions.StackExchangeApiException)response.Error).ErrorMessage);
            Assert.IsNull(response.Data.Items);
            Assert.AreEqual(405, response.Data.ErrorId);
            Assert.AreEqual("key_required", response.Data.ErrorName);
            Assert.AreEqual("`key` is required when `access_token` is passed.", response.Data.ErrorMessage);
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:23,代码来源:StacManResponseTests.cs

示例8: Users_get_all_test

        public void Users_get_all_test()
        {
            var mock = new Mock<StacManClient>(FilterBehavior.Strict, null);

            //http://api.stackexchange.com/2.0/users?pagesize=1&order=desc&min=1&max=1000&sort=reputation&inname=doug&site=webapps
            mock.FakeFetch(response: @"{""items"":[{""user_id"":183,""user_type"":""registered"",""creation_date"":1277932837,""display_name"":""Doug Harris"",""profile_image"":""http://www.gravatar.com/avatar/731e7de87c241fce562d03b23770b5cf?d=identicon&r=PG"",""reputation"":545,""reputation_change_day"":0,""reputation_change_week"":0,""reputation_change_month"":0,""reputation_change_quarter"":0,""reputation_change_year"":15,""age"":92,""last_access_date"":1332536617,""last_modified_date"":1332297406,""is_employee"":false,""link"":""http://webapps.stackexchange.com/users/183/doug-harris"",""website_url"":""http://delicious.com/dharris"",""location"":""Washington, DC"",""account_id"":46903,""badge_counts"":{""gold"":1,""silver"":4,""bronze"":8},""accept_rate"":25}],""quota_remaining"":-210785,""quota_max"":300,""has_more"":true}");

            var client = mock.Object;

            var result = client.Users.GetAll("webapps", pagesize: 1, order: Order.Desc, min: 1, max: 1000, sort: Users.Sort.Reputation, inname: "doug").Result;
            Assert.IsTrue(result.Success);

            var user = result.Data.Items.Single();
            Assert.AreEqual(183, user.UserId);
            Assert.AreEqual(Users.UserType.Registered, user.UserType);
            Assert.AreEqual("Doug Harris", user.DisplayName);
            Assert.AreEqual("http://www.gravatar.com/avatar/731e7de87c241fce562d03b23770b5cf?d=identicon&r=PG", user.ProfileImage);
            Assert.AreEqual(545, user.Reputation);
            Assert.AreEqual(0, user.ReputationChangeDay);
            Assert.AreEqual(0, user.ReputationChangeWeek);
            Assert.AreEqual(0, user.ReputationChangeMonth);
            Assert.AreEqual(0, user.ReputationChangeQuarter);
            Assert.AreEqual(15, user.ReputationChangeYear);
            Assert.AreEqual(92, user.Age);
            Assert.AreEqual(1332536617L.ToDateTime(), user.LastAccessDate);
            Assert.AreEqual(1332297406L.ToDateTime(), user.LastModifiedDate);
            Assert.IsFalse(user.IsEmployee);
            Assert.AreEqual("http://webapps.stackexchange.com/users/183/doug-harris", user.Link);
            Assert.AreEqual("http://delicious.com/dharris", user.WebsiteUrl);
            Assert.AreEqual("Washington, DC", user.Location);
            Assert.AreEqual(46903, user.AccountId);
            Assert.AreEqual(1, user.BadgeCounts.Gold);
            Assert.AreEqual(4, user.BadgeCounts.Silver);
            Assert.AreEqual(8, user.BadgeCounts.Bronze);
            Assert.AreEqual(25, user.AcceptRate);
            Assert.IsNull(user.TimedPenaltyDate);
        }
开发者ID:RyannosaurusRex,项目名称:StacMan,代码行数:37,代码来源:UserMethodTests.cs


注:本文中的Mock.FakeFetch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。