public async Task can_count_by_user_and_species() { var badgeRepo = new BadgeRepo(CreateTemporaryDatabase()); // 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); }