public void EmptyGameFileGeneratesEmptyImportedGame() { var stream = GenerateStreamFromString("{\"game\": {}}"); var res = GameImporter.Import(stream); Assert.NotNull(res); }
public void GameFileGeneratedCorrectly() { var stream = GenerateStreamFromString("{\"deck\": [{\"name\": \"Skirmisher\", \"id\": \"S1\"}, {\"name\": \"Priestess\", \"id\": \"PF1\"}], \"turns\": [{\"draws\": [\"S1\"], \"plays\":[{\"id\": \"S1\", \"targets\": [\"OP2\"]}]}, {\"draws\": [\"PF1\"], \"plays\":[]}]}"); var res = GameImporter.Import(stream); Assert.Equal("S1", res.Turns[0].Plays[0].Id); Assert.Equal("OP2", res.Turns[0].Plays[0].Targets[0]); }
public void GameFileWithOneCardDrawnTurnOneIsGeneratedCorrectly() { var stream = GenerateStreamFromString("{\"deck\": [{\"name\": \"Skirmisher\", \"id\": \"S1\"}], \"turns\": [{\"draws\": [\"S1\"], \"plays\":[]}]}"); var res = GameImporter.Import(stream); Assert.Equal(1, res.Turns[0].Draws.Count); Assert.Equal("S1", res.Turns[0].Draws[0]); }
public void GameFileWithEmptyDeckGeneratesImportedGameWith() { var stream = GenerateStreamFromString("{\"game\": {\"deck\": []}}"); var res = GameImporter.Import(stream); Assert.NotNull(res.Deck); Assert.Empty(res.Deck); }
public void GameFileWithDeckAndOneEmptyTurnIsGeneratedCorrectly() { var stream = GenerateStreamFromString("{\"deck\": [{\"name\": \"Skirmisher\", \"id\": \"S1\"}], \"turns\": [{\"draws\": [], \"plays\":[]}]}"); var res = GameImporter.Import(stream); Assert.Equal(1, res.Turns.Count); Assert.Equal(0, res.Turns[0].Draws.Count); Assert.Equal(0, res.Turns[0].Plays.Count); }
public void GameFileWithDeckContainingOneCardCreatesDeckWithOneCard() { var stream = GenerateStreamFromString("{\"deck\": [{\"name\": \"Skirmisher\", \"id\": \"S1\"}]}"); var res = GameImporter.Import(stream); Assert.Equal(1, res.Deck.Count); Assert.Equal("Skirmisher", res.Deck[0].Name); Assert.Equal("S1", res.Deck[0].Id); }
public void SkirmisherPlayedFirstTurnCalculatesCorrectly() { var game = GameImporter.Import(File.OpenRead("skirmisherFirstTurn.json")); var result = Calculator.Calculate(game); Assert.Equal(6, result.FirstTurn.PlayerScore); Assert.Equal(0, result.SecondTurnResult.PlayerScore); Assert.Equal(0, result.ThirdTurn.PlayerScore); }
public void GameFileWithDeckContainingTwoCardsCreatesDeckWithTwoCards() { var stream = GenerateStreamFromString("{\"deck\": [{\"name\": \"Skirmisher\", \"id\": \"S1\"}, {\"name\": \"Priestess\", \"id\": \"PF1\"}]}"); var res = GameImporter.Import(stream); Assert.Equal(2, res.Deck.Count); Assert.Equal("Skirmisher", res.Deck[0].Name); Assert.Equal("S1", res.Deck[0].Id); Assert.Equal("Priestess", res.Deck[1].Name); Assert.Equal("PF1", res.Deck[1].Id); }