public void Failed3Test()
        {
            var updateJson = "{\"failed\":3}";

            var vkResponse = updateJson.ToVkResponse();

            Assert.Throws <BotsLongPollHistoryInfoLostException>(() => GroupsLongPollHistoryResponse.FromJson(vkResponse)
                                                                 );
        }
        public void Failed1Test()
        {
            var updateJson = "{\"failed\":1, \"ts\":10}";

            var vkResponse = updateJson.ToVkResponse();

            Assert.Throws <BotsLongPollHistoryOutdateException>(() => GroupsLongPollHistoryResponse.FromJson(vkResponse)
                                                                );
        }
 /// <summary>
 /// Возвращаем обновления событий группы
 /// </summary>
 /// <param name="groupsCategory">Категория для работы с группами</param>
 /// <param name="params">Параметры запроса</param>
 public static GroupsLongPollHistoryResponse GetGroupLongPollHistory(this IGroupsCategory groupsCategory,
                                                                     GroupsLongPollHistoryParams @params)
 {
     if (_vk == null)
     {
         _vk = ReflectionHelper.GetPrivateField <IVkApiInvoke>(groupsCategory, "_vk");
     }
     return(GroupsLongPollHistoryResponse.FromJson(_vk.CallLongPoll(@params.Server,
                                                                    GroupsLongPollHistoryParams.ToVkParameters(@params))));
 }
        public void Failed1TsTest()
        {
            var updateJson = "{\"failed\":1, \"ts\":10}";

            var vkResponse = updateJson.ToVkResponse();

            var ts = 10;

            try
            {
                GroupsLongPollHistoryResponse.FromJson(vkResponse);
                Assert.Fail();
            }
            catch (BotsLongPollHistoryOutdateException exception)
            {
                Assert.AreEqual(ts, exception.Ts);
            }
        }
        public void UpdatesTest()
        {
            var ts          = 713;
            var userId      = 123;
            var groupId     = 1234;
            var type        = GroupLongPollUpdateType.MessageNew;
            var updateCount = 2;

            var updateJson = LoadJsonFromFile("history");

            var vkResponse = updateJson.ToVkResponse();

            var history = GroupsLongPollHistoryResponse.FromJson(vkResponse);
            var updates = history.Updates.ToArray();

            Assert.AreEqual(ts, history.Ts);
            Assert.AreEqual(updateCount, updates.Length);
            Assert.AreEqual(type, updates[0].Type);
            Assert.AreEqual(type, updates[1].Type);
            Assert.AreEqual(userId, updates[0].UserId);
            Assert.AreEqual(userId, updates[1].UserId);
            Assert.AreEqual(groupId, updates[1].GroupId);
        }