コード例 #1
0
        public void Get_RecentMatches_Test()
        {
            var scoreBoard = new List <ScoreBoardUnit>
            {
                new ScoreBoardUnit("Player1", 20, 21, 3),
                new ScoreBoardUnit("Player2", 2, 2, 21)
            };

            dataBase.AddServer(new Server("test1-8080", "test server", "DM"));
            dataBase.AddServer(new Server("test2-8080", "test server", "DM"));
            var match = new MatchInfo("DM-HelloWorld", "DM", 20, 20, 12.345678, scoreBoard);


            for (int i = 16; i < 21; i++)
            {
                dataBase.PutMatch("test1-8080", $"2017-01-22T{i}:17:00Z", match);
            }

            for (int i = 10; i < 15; i++)
            {
                dataBase.PutMatch("test2-8080", $"2017-01-22T{i}:17:00Z", match);
            }

            var result = dataBase.GetRecentMatches();

            Assert.True(dataBase.GetAllServers()
                        .Single(s => s.endpoint == "test1-8080")
                        .Matches.Values
                        .SequenceEqual(result.Select(x => x.results)));
        }
コード例 #2
0
        public void Get_RecentMatches_RequestTest()
        {
            var commandParameters = "/reports/recent-matches";
            var recentMatches     = dataBase.GetRecentMatches(5);

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

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

            //var count = int.Parse(commandParameter.Split('/')[3] ?? "5");

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

            return(dataStream);
        }