예제 #1
0
        public void ProvideEmptyKey_DoesNotAdd()
        {
            var playerMatches = new PlayerMatches();

            CacheManager.Add(playerMatches, string.Empty, 1);
            Assert.False(CacheManager.Contains(string.Empty));
        }
예제 #2
0
        public void ProvideValidKey_DoesNotAdd(string key)
        {
            var playerMatches = new PlayerMatches();

            CacheManager.Add(playerMatches, key, 1);
            Assert.True(CacheManager.Contains(key));
        }
예제 #3
0
        public void ProvideValidKeyDoesExist_ReturnsTrue()
        {
            var playerMatches = new PlayerMatches();

            CacheManager.Add(playerMatches, "VALID", 1);
            Assert.IsTrue(CacheManager.Contains("VALID"));
        }
예제 #4
0
        public async Task OnGet(string GamerTag)
        {
            //haloAPIService = new HaloAPIService ("bdd5cbaf0ca34682a8f6b50742747e6f", "https://www.haloapi.com");

            Matches = await haloAPIService.GetMatchesForPlayer(GamerTag, HaloEzAPI.Abstraction.Enum.Halo5.GameMode.Arena, count : 100);

            Maps = await haloAPIService.GetMaps();

            SeasonIdName = await haloAPIService.GetSeasons();

            GameType = await haloAPIService.GetGameBaseVariants();

            var           d = new Dictionary <string, GameVariant>();
            List <string> m = Matches.Results.Select(match => match.GameVariant.ResourceId.ToString()).ToList();

            foreach (var item in m)
            {
                var res = await haloAPIService.GetGameVariant(item);

                if (!d.Keys.Contains(item))
                {
                    d.Add(item, res);
                }

                if (d.Keys.Count == 25)
                {
                    break;
                }

                await Task.Delay(1000);
            }

            gameVariants = d;
        }
예제 #5
0
        public void ProvideValidKey_RemovesEntry()
        {
            var playerMatches = new PlayerMatches();

            CacheManager.Add(playerMatches, "VALID", 1);
            CacheManager.Remove("VALID");
            var obj = CacheManager.Get <PlayerMatches>("VALID");

            Assert.IsNull(obj);
        }
예제 #6
0
        public void RetrieveWrongType_ReturnsNull()
        {
            var playerMatches = new PlayerMatches()
            {
                Count = 2, IsTeamGame = true, ResultCount = 10, Start = 2
            };

            SingletonCacheManager.Instance.Add(playerMatches, "VALID", 1);
            var obj = SingletonCacheManager.Instance.Get <CustomGameServiceRecord>("VALID");

            Assert.IsNull(obj);
        }
예제 #7
0
        public void EntryExists_ReturnsObject()
        {
            var playerMatches = new PlayerMatches()
            {
                Count = 2, IsTeamGame = true, ResultCount = 10, Start = 2
            };

            SingletonCacheManager.Instance.Add(playerMatches, "VALID", 1);
            var obj = SingletonCacheManager.Instance.Get <PlayerMatches>("VALID");

            Assert.IsTrue(PlayerMatchesEqual(playerMatches, obj));
        }
예제 #8
0
        public void KeyAlreadyExists_DoesNotAdd()
        {
            var playerMatches = new PlayerMatches()
            {
                Start = 115
            };
            var playerMatchesNotAdd = new PlayerMatches()
            {
                Start = 99
            };

            CacheManager.Add(playerMatches, "IEXIST", 1);
            CacheManager.Add(playerMatchesNotAdd, "IEXIST", 1);
            var obj = CacheManager.Get <PlayerMatches>("IEXIST");

            Assert.AreEqual(obj.Start, 115);
        }
예제 #9
0
        public void ProvideValidKey_RemovesEntry()
        {
            var playerMatches  = new PlayerMatches();
            var playerMatches1 = new PlayerMatches();
            var playerMatches2 = new PlayerMatches();

            SingletonCacheManager.Instance.Add(playerMatches, "VALID", 1);
            SingletonCacheManager.Instance.Add(playerMatches1, "VALID1", 1);
            SingletonCacheManager.Instance.Add(playerMatches2, "VALID2", 1);
            SingletonCacheManager.Instance.RemoveAll();
            var obj  = SingletonCacheManager.Instance.Get <PlayerMatches>("VALID");
            var obj1 = SingletonCacheManager.Instance.Get <PlayerMatches>("VALID1");
            var obj2 = SingletonCacheManager.Instance.Get <PlayerMatches>("VALID2");

            Assert.IsNull(obj);
            Assert.IsNull(obj1);
            Assert.IsNull(obj2);
        }
예제 #10
0
        public void Default_DoesNotThrow()
        {
            var playerMatches = new PlayerMatches();

            Assert.DoesNotThrow(async() => CacheManager.Add(playerMatches, string.Empty, 0));
        }
예제 #11
0
 private bool PlayerMatchesEqual(PlayerMatches a, PlayerMatches b)
 {
     return(a.Start == b.Start && a.IsTeamGame == b.IsTeamGame && a.Count == b.Count &&
            a.ResultCount == b.ResultCount);
 }
예제 #12
0
 public void DeletePlayerMatch(PlayerMatch playerMatch)
 {
     PlayerMatches.Remove(playerMatch);
 }