コード例 #1
0
        public async Task GetPlaylistRatings_DoesNotThrow(string guid, string gamertag)
        {
            var playlistId = new Guid(guid);

            var query = new GetPlaylistRatings(gamertag, playlistId)
                        .SkipCache();

            var result = await Global.Session.Query(query);

            Assert.IsInstanceOf(typeof(PlaylistSummaryResultSet), result);
        }
コード例 #2
0
        public async Task GetPlaylistRatings_InvalidPlaylist(string gamertag)
        {
            var playlistId = new Guid();

            var query = new GetPlaylistRatings(gamertag, playlistId)
                        .SkipCache();

            await Global.Session.Query(query);

            Assert.Fail("An exception should have been thrown");
        }
コード例 #3
0
        public async Task GetPlaylistRatings_IsSerializable(string guid, string gamertag)
        {
            var playlistId = new Guid(guid);

            var query = new GetPlaylistRatings(gamertag, playlistId)
                        .SkipCache();

            var result = await Global.Session.Query(query);

            SerializationUtility <PlaylistSummaryResultSet> .AssertRoundTripSerializationIsPossible(result);
        }
コード例 #4
0
        public async Task GetPlaylistRatings_SchemaIsValid(string guid, string gamertag)
        {
            var jSchema = JSchema.Parse(File.ReadAllText(Schema), new JSchemaReaderSettings
            {
                Resolver = new JSchemaUrlResolver(),
                BaseUri  = new Uri(Path.GetFullPath(Schema))
            });

            var playlistId = new Guid(guid);

            var query = new GetPlaylistRatings(gamertag, playlistId)
                        .SkipCache();

            var jArray = await Global.Session.Get <JObject>(query.Uri);

            SchemaUtility.AssertSchemaIsValid(jSchema, jArray);
        }
コード例 #5
0
        public async Task GetPlaylistRatings_ModelMatchesSchema(string guid, string gamertag)
        {
            var schema = JSchema.Parse(File.ReadAllText(Schema), new JSchemaReaderSettings
            {
                Resolver = new JSchemaUrlResolver(),
                BaseUri  = new Uri(Path.GetFullPath(Schema))
            });

            var playlistId = new Guid(guid);

            var query = new GetPlaylistRatings(gamertag, playlistId)
                        .SkipCache();

            var result = await Global.Session.Query(query);

            var json       = JsonConvert.SerializeObject(result);
            var jContainer = JsonConvert.DeserializeObject <JObject>(json);

            SchemaUtility.AssertSchemaIsValid(schema, jContainer);
        }
コード例 #6
0
        public void Uri_MatchesExpected(string player, string guid)
        {
            var query = new GetPlaylistRatings(player, new Guid(guid));

            Assert.AreEqual($"https://www.haloapi.com/stats/hw2/playlist/{guid}/rating?players={player}", query.Uri);
        }