コード例 #1
0
        public void EmptyGameFileGeneratesEmptyImportedGame()
        {
            var stream = GenerateStreamFromString("{\"game\": {}}");
            var res    = GameImporter.Import(stream);

            Assert.NotNull(res);
        }
コード例 #2
0
        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]);
        }
コード例 #3
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]);
        }
コード例 #4
0
        public void GameFileWithEmptyDeckGeneratesImportedGameWith()
        {
            var stream = GenerateStreamFromString("{\"game\": {\"deck\": []}}");
            var res    = GameImporter.Import(stream);

            Assert.NotNull(res.Deck);
            Assert.Empty(res.Deck);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }