Ejemplo n.º 1
0
        public void SucceedStripHtmlTags()
        {
            string encoded = DeckCodeEncoder.EncodeDeck(TestData.DeckWithHtmlTagsInName);
            Deck   deck    = DeckCodeDecoder.ParseDeck(encoded);

            Assert.Equal("This is a tagged name", deck.Name);
        }
Ejemplo n.º 2
0
        public void SucceedDecodeAllDecks(string deckCode)
        {
            Deck decoded = DeckCodeDecoder.ParseDeck(deckCode);

            Assert.NotNull(decoded);
            Assert.NotEmpty(decoded.Heroes);
            Assert.NotEmpty(decoded.Cards);
        }
Ejemplo n.º 3
0
        public void SucceedTruncateNonAsciiName()
        {
            string encoded = DeckCodeEncoder.EncodeDeck(TestData.DeckWithNonAsciiName);
            Deck   deck    = DeckCodeDecoder.ParseDeck(encoded);

            Assert.True(Encoding.UTF8.GetByteCount(TestData.DeckWithNonAsciiName.Name) > ArtifactSdkDotNet.Config.DeckCode.MaxDeckNameLengthBytes);
            Assert.True(Encoding.UTF8.GetByteCount(deck.Name) <= ArtifactSdkDotNet.Config.DeckCode.MaxDeckNameLengthBytes);

            Assert.NotEqual(deck.Name, TestData.DeckWithNonAsciiName.Name);
        }
Ejemplo n.º 4
0
        public void SucceedTruncateTooLongName()
        {
            string encoded = DeckCodeEncoder.EncodeDeck(TestData.DeckWithTooLongName);
            Deck   deck    = DeckCodeDecoder.ParseDeck(encoded);

            Assert.True(Encoding.UTF8.GetByteCount(TestData.DeckWithTooLongName.Name) > ArtifactSdkDotNet.Config.DeckCode.MaxDeckNameLengthBytes);
            Assert.True(Encoding.UTF8.GetByteCount(deck.Name) <= ArtifactSdkDotNet.Config.DeckCode.MaxDeckNameLengthBytes);
            //in this case it's a pure ascii string so one character = 1 byte
            Assert.Equal(TestData.DeckWithTooLongName.Name.Substring(0, ArtifactSdkDotNet.Config.DeckCode.MaxDeckNameLengthBytes), deck.Name);
        }
Ejemplo n.º 5
0
        public void SucceedDecodeBack()
        {
            string encoded = DeckCodeEncoder.EncodeDeck(TestData.ExampleDeck1);
            var    deck    = DeckCodeDecoder.ParseDeck(encoded);

            // "deep equality" check
            string json  = JsonConvert.SerializeObject(TestData.ExampleDeck1);
            string json2 = JsonConvert.SerializeObject(deck);

            Assert.Equal(json, json2);
        }
Ejemplo n.º 6
0
        public void SucceedDecodeExampleDeck1()
        {
            Deck deck = DeckCodeDecoder.ParseDeck(TestData.ExampleDeck1Code);

            Assert.Equal(TestData.ExampleDeck1.Name, deck.Name);
            Assert.Equal(TestData.ExampleDeck1.Heroes.Count, deck.Heroes.Count);
            Assert.Equal(TestData.ExampleDeck1.Cards.Count, deck.Cards.Count);
            foreach (var hero in TestData.ExampleDeck1.Heroes)
            {
                Assert.Contains(deck.Heroes, h => h.Id == hero.Id && h.Turn == hero.Turn);
            }

            foreach (var card in TestData.ExampleDeck1.Cards)
            {
                Assert.Contains(deck.Cards, c => c.Id == card.Id && c.Count == card.Count);
            }
        }