public void SuccessfulCreateAndInsertOfAPlayer() { IPlayerRepository playerRepository = GetRepositoryWithEnrolledUnitOfWork(); var preparedResult = PreparePoem<LegendAuthorityType, TranslationPoem>(); Player player = new Player { PoemId = preparedResult.Item2.Id, UserProfileId = preparedResult.Item1.Id }; RegisterDataStoreObject(player); Player actualPlayer = playerRepository.Get(p => p.Id == player.Id).FirstOrDefault(); AssertPlayersAreEqual(player, actualPlayer); }
public void GetPoemsForAPlayer() { IPlayerRepository playerRepository = GetRepositoryWithEnrolledUnitOfWork(); AuthorityType authorityType = new LegendAuthorityType(); RegisterDataStoreObject(authorityType); UserProfile initialAuthor = CreateUserProfile(authorityType); RegisterDataStoreObject(initialAuthor); const int NumberOfArchivedPoems = 10; const int NumberOfActivePoems = 5; for (int i = 0; i < NumberOfArchivedPoems; i++) { Poem poem = CreatePoem<ClassicalPoem>(initialAuthor.Id); poem.IsArchived = true; RegisterDataStoreObject(poem); Player player = new Player { PoemId = poem.Id, UserProfileId = initialAuthor.Id }; RegisterDataStoreObject(player); } for (int i = 0; i < NumberOfActivePoems; i++) { Poem poem = CreatePoem<ClassicalPoem>(initialAuthor.Id); poem.IsArchived = false; RegisterDataStoreObject(poem); Player player = new Player { PoemId = poem.Id, UserProfileId = initialAuthor.Id }; RegisterDataStoreObject(player); } var archivedPoems = playerRepository.GetArchiveGamesFor(initialAuthor.Id); var activePoems = playerRepository.GetActiveGamesFor(initialAuthor.Id); var totalPoems = playerRepository.GetGamesFor(initialAuthor.Id); Assert.AreEqual(NumberOfArchivedPoems, archivedPoems.Count()); Assert.AreEqual(NumberOfActivePoems, activePoems.Count()); Assert.AreEqual(NumberOfActivePoems + NumberOfArchivedPoems, totalPoems.Count()); }
private void AssertPlayersAreEqual(Player expected, Player actualPlayer) { Assert.AreEqual(expected.Id, actualPlayer.Id); Assert.AreEqual(expected.PoemId, actualPlayer.PoemId); Assert.AreEqual(expected.UserProfileId, actualPlayer.UserProfileId); }