public void SucceedStripHtmlTags() { string encoded = DeckCodeEncoder.EncodeDeck(TestData.DeckWithHtmlTagsInName); Deck deck = DeckCodeDecoder.ParseDeck(encoded); Assert.Equal("This is a tagged name", deck.Name); }
public void SucceedDecodeAllDecks(string deckCode) { Deck decoded = DeckCodeDecoder.ParseDeck(deckCode); Assert.NotNull(decoded); Assert.NotEmpty(decoded.Heroes); Assert.NotEmpty(decoded.Cards); }
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); }
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); }
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); }
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); } }