public BadgeCommands(
     IBadgeRepo badgeRepo,
     IUserRepo userRepo,
     IMessageSender messageSender,
     IImmutableSet <PkmnSpecies> knownSpecies,
     HashSet <PkmnSpecies>?whitelist = null
     )
 {
     _badgeRepo          = badgeRepo;
     _userRepo           = userRepo;
     _messageSender      = messageSender;
     _knownSpecies       = knownSpecies;
     _whitelist          = whitelist;
     _pokedexModeRegions = new Dictionary <string, RegionInformation>()
     {
         { "kanto", new RegionInformation(Generation.Gen1, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen1)) },
         { "johto", new RegionInformation(Generation.Gen2, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen2)) },
         { "hoenn", new RegionInformation(Generation.Gen3, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen3)) },
         { "sinnoh", new RegionInformation(Generation.Gen4, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen4)) },
         { "unova", new RegionInformation(Generation.Gen5, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen5)) },
         { "kalos", new RegionInformation(Generation.Gen6, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen6)) },
         { "alola", new RegionInformation(Generation.Gen7, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen7)) },
         { "galar", new RegionInformation(Generation.Gen8, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.Gen8)) },
         { "fakemons", new RegionInformation(Generation.GenFake, _knownSpecies.Count(pokemon => pokemon.GetGeneration() == Generation.GenFake)) },
         { PokedexModeNational, new RegionInformation(Generation.GenFake, _knownSpecies.Count(pokemon => pokemon.GetGeneration() != Generation.GenFake)) }
     };
 }
Example #2
0
        public async Task can_find_by_user()
        {
            IBadgeRepo badgeRepo = CreateBadgeRepo();
            // given
            Badge badgeUserA1 = await badgeRepo.AddBadge("userA", PkmnSpecies.OfId("1"), Badge.BadgeSource.Pinball);

            Badge badgeUserA2 = await badgeRepo.AddBadge("userA", PkmnSpecies.OfId("2"), Badge.BadgeSource.Pinball);

            Badge badgeUserB = await badgeRepo.AddBadge("userB", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            Badge badgeNobody = await badgeRepo.AddBadge(null, PkmnSpecies.OfId("4"), Badge.BadgeSource.Pinball);

            // when
            List <Badge> resultUserA = await badgeRepo.FindByUser("userA");

            List <Badge> resultUserB = await badgeRepo.FindByUser("userB");

            List <Badge> resultNobody = await badgeRepo.FindByUser(null);

            // then
            Assert.AreEqual(new List <Badge> {
                badgeUserA1, badgeUserA2
            }, resultUserA);
            Assert.AreEqual(new List <Badge> {
                badgeUserB
            }, resultUserB);
            Assert.AreEqual(new List <Badge> {
                badgeNobody
            }, resultNobody);
        }
Example #3
0
        public async Task can_count_by_user_and_species()
        {
            IBadgeRepo badgeRepo = CreateBadgeRepo();
            // given
            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("2"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("userOther", PkmnSpecies.OfId("1"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("userOther", PkmnSpecies.OfId("2"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("userOther", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            // when
            long countHasNone = await badgeRepo.CountByUserAndSpecies("user", PkmnSpecies.OfId("1"));

            long countHasOne = await badgeRepo.CountByUserAndSpecies("user", PkmnSpecies.OfId("2"));

            long countHasThree = await badgeRepo.CountByUserAndSpecies("user", PkmnSpecies.OfId("3"));

            // then
            Assert.AreEqual(0, countHasNone);
            Assert.AreEqual(1, countHasOne);
            Assert.AreEqual(3, countHasThree);
        }
Example #4
0
 public Databases(IUserRepo userRepo, IBadgeRepo badgeRepo, IBank <User> pokeyenBank, IBank <User> tokensBank)
 {
     UserRepo    = userRepo;
     BadgeRepo   = badgeRepo;
     PokeyenBank = pokeyenBank;
     TokensBank  = tokensBank;
 }
Example #5
0
 public HabitsController(ILogger <HabitsController> logger, IHabitRepo habitRepo, IBadgeRepo badgeRepo,
                         ILogRepo logRepo)
 {
     _habitrepo = habitRepo;
     _logger    = logger;
     _badgerepo = badgeRepo;
     _logrepo   = logRepo;
 }
Example #6
0
 public record Databases(
     IUserRepo UserRepo,
     IBadgeRepo BadgeRepo,
     IBank <User> PokeyenBank,
     IBank <User> TokensBank,
     ICommandLogger CommandLogger,
     IMessagequeueRepo MessagequeueRepo,
     IMessagelogRepo MessagelogRepo
     );
Example #7
0
 public BadgeCommands(
     IBadgeRepo badgeRepo,
     IUserRepo userRepo,
     IMessageSender messageSender,
     IImmutableSet <PkmnSpecies> knownSpecies,
     HashSet <PkmnSpecies>?whitelist = null
     )
 {
     _badgeRepo     = badgeRepo;
     _userRepo      = userRepo;
     _messageSender = messageSender;
     _knownSpecies  = knownSpecies;
     _whitelist     = whitelist;
 }
Example #8
0
 public record Databases(
     IUserRepo UserRepo,
     IPollRepo PollRepo,
     IBadgeRepo BadgeRepo,
     IBank <User> PokeyenBank,
     IBank <User> TokensBank,
     ICommandLogger CommandLogger,
     IMessagequeueRepo MessagequeueRepo,
     IMessagelogRepo MessagelogRepo,
     ILinkedAccountRepo LinkedAccountRepo,
     ISubscriptionLogRepo SubscriptionLogRepo,
     IModLogRepo ModLogRepo,
     IResponseCommandRepo ResponseCommandRepo
     );
Example #9
0
 public OperatorCommands(
     StopToken stopToken,
     IBank <User> pokeyenBank,
     IBank <User> tokensBank,
     IMessageSender messageSender,
     IBadgeRepo badgeRepo,
     IUserRepo userRepo)
 {
     _stopToken     = stopToken;
     _pokeyenBank   = pokeyenBank;
     _tokensBank    = tokensBank;
     _messageSender = messageSender;
     _badgeRepo     = badgeRepo;
     _userRepo      = userRepo;
 }
Example #10
0
 public OperatorCommands(
     StopToken stopToken,
     IEnumerable <string> operatorNames,
     IBank <User> pokeyenBank,
     IBank <User> tokensBank,
     IMessageSender messageSender,
     IBadgeRepo badgeRepo)
 {
     _stopToken          = stopToken;
     _operatorNamesLower = operatorNames.Select(s => s.ToLowerInvariant()).ToImmutableHashSet();
     _pokeyenBank        = pokeyenBank;
     _tokensBank         = tokensBank;
     _messageSender      = messageSender;
     _badgeRepo          = badgeRepo;
 }
Example #11
0
        public async Task can_count_per_species_for_one_user()
        {
            IBadgeRepo badgeRepo = CreateBadgeRepo();
            // given
            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("2"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("user", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("userOther", PkmnSpecies.OfId("1"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("userOther", PkmnSpecies.OfId("2"), Badge.BadgeSource.Pinball);

            await badgeRepo.AddBadge("userOther", PkmnSpecies.OfId("3"), Badge.BadgeSource.Pinball);

            // when
            ImmutableSortedDictionary <PkmnSpecies, int> result = await badgeRepo.CountByUserPerSpecies("user");

            // then
            ImmutableSortedDictionary <PkmnSpecies, int> expected = new[]
 public BadgesController(ILogger <BadgesController> logger, IBadgeRepo badgerepo)
 {
     _badgerepo = badgerepo;
     _logger    = logger;
 }
Example #13
0
 public HabitRepo(Context context, IBadgeRepo badgeRepo, ILogRepo logRepo)
 {
     _badgerepo = badgeRepo;
     _context   = context;
     _logrepo   = logRepo;
 }
Example #14
0
 public BadgeCommands(IBadgeRepo badgeRepo, IUserRepo userRepo, HashSet <PkmnSpecies>?whitelist = null)
 {
     _badgeRepo = badgeRepo;
     _userRepo  = userRepo;
     _whitelist = whitelist;
 }