コード例 #1
0
        public void Get_PopularServers_RequestTest()
        {
            var commandParameters = "/reports/popular-servers";
            var popularServers    = dataBase.GetPopularServers();

            var answer = controller.HandleRequest(MethodType.GET, commandParameters);
            var result = (List <PopularServerInfo>)Serializer.DeserializeObject(typeof(List <PopularServerInfo>), answer.Item2);

            Assert.True(popularServers.SequenceEqual(result));
        }
コード例 #2
0
        public Stream Get(string commandParameter)
        {
            var dataStream = new MemoryStream();
            var parameters = commandParameter.Split('/');
            var count      = parameters.Length == 3 ? 5 : int.Parse(parameters[3]);

            Serializer.SerializeObject(dataBase.GetPopularServers(count), dataStream);

            return(dataStream);
        }
コード例 #3
0
        public void Get_PopularServers_Test()
        {
            var emptyMatch = new MatchInfo("1", "1", 1, 1, 1, new List <ScoreBoardUnit>());

            dataBase.AddServer(new Server("1-8080", "1", "DM"));
            dataBase.AddServer(new Server("2-8080", "2", "DM"));
            dataBase.AddServer(new Server("3-8080", "3", "DM"));

            // 1-8080: 0 matches per day
            // 2-8080: 2 matches per day
            // 3-8080: 1 matches per day

            dataBase.PutMatch("2-8080", "2017-01-01T10:17:00Z", emptyMatch);
            dataBase.PutMatch("2-8080", "2017-01-01T10:17:00Z", emptyMatch);
            dataBase.PutMatch("2-8080", "2017-01-30T10:17:00Z", emptyMatch);
            dataBase.PutMatch("2-8080", "2017-01-30T10:17:00Z", emptyMatch);

            dataBase.PutMatch("3-8080", "2017-01-01T15:17:00Z", emptyMatch);
            dataBase.PutMatch("3-8080", "2017-01-30T15:17:00Z", emptyMatch);

            var result = dataBase.GetPopularServers().Select(psi => psi.name).ToList();

            Assert.True(result.SequenceEqual(new [] { "2", "3", "1" }));
        }