示例#1
0
        public void GetAllContestResultsTest()
        {
            CodeforcesProvider target = new CodeforcesProvider(); // TODO: 初始化为适当的值
            string user_id = "lmm333"; // TODO: 初始化为适当的值

            CfContestResult expected_1 = new CfContestResult
            {
                UserName = "******",
                ContestName = "Codeforces Beta Round #26 (Codeforces format)",
                ContestUrl = "/contest/26/standings",
                ContestId = 26,
                Rating = 1379,
                Change = -121,
                Rank = 481,
                Timesplayed = 1
            };
            CfContestResult expected_14 = new CfContestResult
            {
                UserName = "******",
                ContestName = "Codeforces Beta Round #96 (Div. 2)",
                ContestUrl = "/contest/133/standings",
                ContestId = 133,
                Rating = 1401,
                Change = -29,
                Rank = 697,
                Timesplayed = 14
            };

            List<CfContestResult> actual;
            actual = target.GetUserContestResults(user_id);

            compareCfResult(expected_1, actual[0]);
            compareCfResult(expected_14, actual[13]);
        }
示例#2
0
        public void UpdateRatings()
        {
            var cf = new RankInAll.Core.OnlineContest.Codeforces.CodeforcesProvider();

            List<string> list = storage.GetCFUsers();
            foreach (var userName in list)
            {
                var user = cf.GetProfile(userName);
                //把ur.Rating更新到数据库里面
                if (user != null)
                    storage.UpdateCodeforce(user);
            }
        }
示例#3
0
        public void GetContestDetailsTest57()
        {
            CodeforcesProvider target = new CodeforcesProvider();
            int contestId = 57;

            List<CfContestDetail> actual;
            actual = target.GetContestDetails(contestId);
            List<Tuple<int, string>> list = new List<Tuple<int, string>>();
            list.Add(Tuple.Create<int, string>(488, "00:06"));
            list.Add(Tuple.Create<int, string>(908, "00:23"));
            list.Add(Tuple.Create<int, string>(1104, "01:06"));
            list.Add(Tuple.Create<int, string>(0, ""));
            list.Add(Tuple.Create<int, string>(0, ""));
            CfContestDetail gassa = new CfContestDetail()
            {
                UserName = "******",
                Point = 5762,
                ChallengeFailed = 0,
                ChallengeSucceed = 12,
                PointTime = list,
                Rank = 1
            };

            compareCfContestDetail(gassa, actual[0]);
        }
示例#4
0
        public void GetContestDetailsTest1()
        {
            CodeforcesProvider target = new CodeforcesProvider();
            int contestId = 128;

            List<CfContestDetail> actual;
            actual = target.GetContestDetails(contestId);

            CfContestDetail gassa = new CfContestDetail()
            {
                UserName = "******",
                Point = 5338,
                ChallengeFailed = 1,
                ChallengeSucceed = 4,
                Rank = 2
            };

            compareCfContestDetail(gassa, actual[1]);
        }
示例#5
0
        public void GetContestDetailsTest2()
        {
            CodeforcesProvider target = new CodeforcesProvider();
            int contestId = 99;

            List<CfContestDetail> actual;
            actual = target.GetContestDetails(contestId);

            List<Tuple<int, string>> list = new List<Tuple<int, string>>();
            list.Add(Tuple.Create<int, string>(488, "00:06"));
            list.Add(Tuple.Create<int, string>(908, "00:23"));
            list.Add(Tuple.Create<int, string>(1104, "01:06"));
            list.Add(Tuple.Create<int, string>(0, ""));
            list.Add(Tuple.Create<int, string>(0, ""));

            CfContestDetail sazzad = new CfContestDetail()
            {
                UserName = "******",
                Point = 2750,
                ChallengeFailed = 1,
                ChallengeSucceed = 3,
                Rank = 4,
                PointTime = list,
                ProblemNum = 5
            };

            compareCfContestDetail(sazzad, actual[3]);
        }
示例#6
0
        public void GetprofileTest1()
        {
            CodeforcesProvider target = new CodeforcesProvider();
            string user_id = "acrush";

            User actual;
            actual = target.GetProfile(user_id);
            Assert.AreEqual(actual.Rating, 2521);
            Assert.AreEqual(actual.Timesplayed, 13);
        }
示例#7
0
        public void GetprofileTest()
        {
            CodeforcesProvider target = new CodeforcesProvider();
            string user_id = "lmm333";

            CfContestResult expected1 = new CfContestResult()
            {
                UserName = "******",
                Rating = 1379,
                ContestId = 26,
                ContestName = "Codeforces Beta Round #26 (Codeforces format)",
                Change = -121,
                Rank = 481,
                ContestUrl = "/contest/26/standings",
                Timesplayed = 1
            };
            CfContestResult expected2 = new CfContestResult()
            {
                UserName = "******",
                Rating = 1481,
                ContestId = 117,
                ContestName = "Codeforces Beta Round #88",
                Change = 1,
                Rank = 686,
                ContestUrl = "/contest/117/standings",
                Timesplayed = 12
            };

            List<CfContestResult> actual;
            actual = target.GetUserContestResults(user_id);

            Assert.IsNotNull(actual);

            AssertCfContestResult(expected1, actual[0]);
            AssertCfContestResult(expected2, actual[11]);
        }
示例#8
0
        public void GetContestInfoTest()
        {
            CodeforcesProvider target = new CodeforcesProvider(); // TODO: 初始化为适当的值
            int contestId = 139; // TODO: 初始化为适当的值
            CfContestInfo expected = new CfContestInfo()
            {
                ContestUrl = "http://codeforces.com/contest/139/standings/page/1",
                ContestName = "Codeforces Beta Round #99 (Div. 2)",
                ContestId = 139,
                type = "cf",
                div=2
            };

            CfContestInfo actual;
            actual = target.GetContestInfo(contestId);
            Assert.AreEqual(expected.ContestId, actual.ContestId);
            Assert.AreEqual(expected.ContestName, actual.ContestName);
            Assert.AreEqual(expected.div, actual.div);
            Assert.AreEqual(expected.ContestUrl, actual.ContestUrl);
            Assert.AreEqual(expected.type, actual.type);
        }
示例#9
0
        public void GetContestDetailsTest3()
        {
            CodeforcesProvider target = new CodeforcesProvider();
            int contestId = 131;

            List<CfContestDetail> actual;
            actual = target.GetContestDetails(contestId);

            CfContestDetail user = new CfContestDetail()
            {
                UserName = "******",
                Point = 1096,
                ChallengeFailed = 1,
                ChallengeSucceed = 0,
                Rank = 850
            };

            compareCfContestDetail(user, actual[849]);
        }