public void Decode_MatrixWithOne1AndMany0_ReturnsListWithOneElement() { var deckMatrixProvider = new FakeGameProvider { Colors = new List <Color> { Color.Blue, Color.Green, Color.Red }, Ranks = new List <Rank> { Rank.One, Rank.Two, Rank.Three }, }; Matrix input = deckMatrixProvider.CreateEmptyMatrix(); input[new Card(Color.Green, Rank.Three)] = 1; CardsToMatrixConverter converter = new CardsToMatrixConverter(deckMatrixProvider); IReadOnlyList <Card> actual = converter.Decode(input); Assert.AreEqual(1, actual.Count); Card greenThree = new Card(Rank.Three, Color.Green); Assert.AreEqual(greenThree, actual[0]); }
public void Decode_ZeroMatrix_ReturnsEmptyList() { var deckMatrixProvider = new FakeGameProvider { Colors = new List <Color> { Color.Blue, Color.Red, Color.Green }, Ranks = new List <Rank> { Rank.One, Rank.Two, Rank.Three } }; Matrix zeroMatrix = deckMatrixProvider.CreateEmptyMatrix(); CardsToMatrixConverter converter = new CardsToMatrixConverter(deckMatrixProvider); IReadOnlyList <Card> actual = converter.Decode(zeroMatrix); Assert.IsEmpty(actual); }