public void SerializeGames() { FileInfo file = new FileInfo("UnimatrixeroGames.xml"); string xml = File.ReadAllText(file.FullName); GameXmlParser parser = new GameXmlParser(); List <Game> games = parser.Parse(xml).ToList(); Assert.That(games.Count, Is.GreaterThan(0)); DataContractSerializer serializer = new DataContractSerializer(typeof(Game), new[] { typeof(List <Game>) }); StringBuilder builder = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(builder)) { serializer.WriteObject(writer, games); } string serializedGamesXml = builder.ToString(); string solutionDirectoryPath = file.Directory.Parent.Parent.Parent.FullName; Console.WriteLine(solutionDirectoryPath); string dataTestProjectPath = Path.Combine(solutionDirectoryPath, "SteamAchievements.Data.Tests"); string serializedGamesFileName = Path.Combine(dataTestProjectPath, "UnimatrixeroGameEntities.xml"); File.WriteAllText(serializedGamesFileName, serializedGamesXml); }
public void ParseValid() { string xml = File.ReadAllText("games.xml"); GameXmlParser parser = new GameXmlParser(); IEnumerable <Game> games = parser.Parse(xml); Assert.That(games.Any()); }
public void ParseValid() { string xml = File.ReadAllText("games.xml"); GameXmlParser parser = new GameXmlParser(); IEnumerable <Game> games = parser.Parse(xml); Assert.That(games.Any()); Assert.That(games.Count(game => game.PlayedRecently), Is.EqualTo(2)); }
public void Issue37() { MockSteamRepository repository = new MockSteamRepository(); repository.Achievements = GetDataAchievements().AsQueryable(); repository.Users = new List <User> { new User { FacebookUserId = 0, SteamUserId = "Unimatrixero" } }.AsQueryable(); repository.UserAchievements = new List <UserAchievement>().AsQueryable(); GameXmlParser gameXmlParser = new GameXmlParser(); IEnumerable <Game> games = gameXmlParser.Parse(File.ReadAllText("UnimatrixeroGames.xml")); AchievementManager manager = new AchievementManager(repository); IEnumerable <Data.Achievement> achievements = GetCommunityAchievements(); // should not throw InvalidOperationException manager.UpdateAchievements("Unimatrixero", achievements); }
public void ParseNotValid() { GameXmlParser parser = new GameXmlParser(); Assert.Throws <XmlException>(() => parser.Parse("asdf asdf asdf asdf")); }
public void UpdateNewUserAchievements() { Mock <IAchievementManager> achievementManagerMock = new Mock <IAchievementManager>(); Mock <ISteamCommunityManager> communityManagerMock = new Mock <ISteamCommunityManager>(); // expect User user = new User { FacebookUserId = 1234, SteamUserId = "user1" }; Data.User dataUser = new Data.User { FacebookUserId = 1234, SteamUserId = "user1" }; achievementManagerMock.Setup(rep => rep.GetUser(user.FacebookUserId)) .Returns(dataUser).Verifiable(); AchievementXmlParser achievementXmlParser = new AchievementXmlParser(); List <UserAchievement> userAchievements = achievementXmlParser.ParseClosed(File.ReadAllText("cssAchievements.xml")).ToList(); userAchievements.ForEach( userAchievement => userAchievement.Game = new Game { Id = 240, ImageUrl = "http://media.steampowered.com/steamcommunity/public/images/apps/10/af890f848dd606ac2fd4415de3c3f5e7a66fcb9f.jpg", Name = "Counter-Strike: Source", PlayedRecently = true, StatsUrl = String.Format("http://steamcommunity.com/id/{0}/games/?xml=1", user.SteamUserId), StoreUrl = "http://store.steampowered.com/app/10" }); communityManagerMock.Setup(rep => rep.GetAchievements(user.SteamUserId)) .Returns(new List <UserAchievement>()).Verifiable(); achievementManagerMock.Setup(rep => rep.GetUser(user.SteamUserId)) .Returns(dataUser).Verifiable(); achievementManagerMock.Setup(rep => rep.UpdateAchievements(It.IsAny <IEnumerable <Data.UserAchievement> >())) .Returns(5).Verifiable(); ICollection <Game> games = new GameXmlParser().Parse(File.ReadAllText("games.xml")); communityManagerMock.Setup(rep => rep.GetGames(user.SteamUserId)) .Returns(games).Verifiable(); Achievement[] dataAchievements = new[] { new Achievement { Description = "x", GameId = 1, Id = 1, } }; achievementManagerMock.Setup( rep => rep.GetUnpublishedAchievements(user.SteamUserId, DateTime.UtcNow.Date.AddDays(-2))) .Returns(dataAchievements).Verifiable(); achievementManagerMock.Setup( rep => rep.UpdateHidden(user.SteamUserId, It.IsAny <IEnumerable <int> >())) .Verifiable(); // execute IAchievementService service = new AchievementService(achievementManagerMock.Object, communityManagerMock.Object); service.UpdateNewUserAchievements(user); // verify achievementManagerMock.Verify(); communityManagerMock.Verify(); }